|
|
|
|
|
by glinscott
4192 days ago
|
|
I wouldn't say the GBA was too forgiving about mistakes. You had very limited resources, and sometimes needed some tricks to get things running acceptably. I do remember a few things like a divide by zero in a game that ended up jumping off into the middle of RAM and by luck, the game just happened to continue. But the examples from the article seem to be on purpose. 2) Code in VRAM was sometimes faster than executing code from the ROM, due to waitstates. This was used on the Nintendo DS as well. There was a lot of VRAM, and it was 0-waitstate, while your instruction cache was tiny. 3) STM to DMA registers was an optimization that was used fairly commonly, at least in homebrew games 5) This is definitely anti-emulator code :) |
|
I always find these things really interesting.