Hacker News new | past | comments | ask | show | jobs | submit login

Two nits to pick from this article:

While the article does mention it ignores loop unrolling, it's a bit disingenuous, because that almost DOUBLES performance and it's what nearly all real world code is doing.

Also Sam's Journey PAL version does not need any kind of DMA transfer tricks. NTSC version is just a tiny bit behind in timing, so to be glitch free, REU is used. PAL version still works with minor glitches on an NTSC system.

This is because NTSC has 263 * 63 - 25 * 40 = 15569 cycles available per frame (ignoring those stolen by sprites) and PAL 263 * 63 - 25 * 40 = 18656 cycles (again, ignoring sprites).

The difference is enough that the NTSC version can't move required 2000 bytes of color RAM and character RAM in time in the worst case without REU.




I'm remembering (possibly incorrectly) PAL being 312 (not 263).

Is that what You intended?


Yeah. I accidentally left that value wrong after a copy paste. But the result is right. :-)




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: