PokeParadox posted on Feb 11 2007 at 06:31 AM said:
The NDS and GBA SNES emulators take advantage of the respective hardware sprite and tile handling capabilities. As we know the SNES custom GFX chips are the hard part so the GBA/NDS CPU only has to do relatively little work handling the sounds and CPU of the SNES.
Yes, the architecture of the GBA is very similar to the SNES. Being a superset of the SNES hardware means that it can emulate the SNES video hardware using it's own video hardware.
For example a basic SNES graphic element might be an 8x8 graphic, much like a text character. The SNES could write one or two bytes to effectively write 64 pixels (8x8).
A traditional emulator powered by the GP2X or a PC would have to duplicate this the hard way, perhaps doing as many as 64 writes. Perhaps more depending on the situation.
On the other hand, the GBA/DS could write the same graphic in almost the same way as the original SNES, perhaps needing to write one or two bytes. Other tricks such as layers etc can be easily duplicated on the DS and GBA as well as color palette changes. Everything is at least an order of magnitude easier.
If you have a look at
Flubba's GBA emulators, they all use this method to achieve amazingly fast emulators on the humble 17Mhz GBA.
PocketNES on the GBA is utterly amazing - fullspeed and highly compatible NES on the GBA.
PCEAdvance on the GBA is probably even more amazing, PC Engine on the GBA. Not quite fullspeed, but if this was ported to the NDS I'm sure it would be.
PocketNES on the GBA is what originally enticed me into the world of handheld emulators.