- Joined
- Aug 7, 2008
- Messages
- 2,463
- Trophies
- 2
- Location
- Melbourne
- Website
- vaguerant.tumblr.com
- XP
- 3,302
- Country
Game Boy Advance emulation on 3DS is generally slow. One of the factors in this is that It's difficult to emulate a GBA that's working hard, and many games are quite taxing on the GBA's CPU. Fortunately, it's easier to emulate a GBA that's not working hard. Simple, well-programmed games shouldn't tax the GBA hardware all that much and should therefore be easier to emulate at full speed.
The problem here is that we can't assume that all GBA games are well-programmed. There is a particular way which some games are programmed which causes the GBA to work hard for no gain. Picture a car sitting in neutral while the driver revs the engine. The car isn't going anywhere, but the engine doesn't know or care.
On the up side, it is possible for talented hackers to improve these games' performance by optimizing their idle loops (so they're not revving the engine all the time, only when they're actually trying to drive fast). So here's a few patches for GBA games which hopefully should work just as well as their unpatched equivalents.
These patches are also useful on a real GBA, as driving the CPU less hard means lower power usage, so your batteries will last longer. On the 3DS, though, we're shooting for faster emulation rather than less battery drain.
If anyone else has created any idle loop patches, I'm sure people would be grateful to see them posted. Please try not to turn this into a request thread; people can't just optimize any game that currently runs slow, it has to run slow and run inefficiently and in a way which someone can improve without breaking.
The problem here is that we can't assume that all GBA games are well-programmed. There is a particular way which some games are programmed which causes the GBA to work hard for no gain. Picture a car sitting in neutral while the driver revs the engine. The car isn't going anywhere, but the engine doesn't know or care.
On the up side, it is possible for talented hackers to improve these games' performance by optimizing their idle loops (so they're not revving the engine all the time, only when they're actually trying to drive fast). So here's a few patches for GBA games which hopefully should work just as well as their unpatched equivalents.
These patches are also useful on a real GBA, as driving the CPU less hard means lower power usage, so your batteries will last longer. On the 3DS, though, we're shooting for faster emulation rather than less battery drain.
- Advance Wars (USA, Rev 1) and Advance Wars 2 (USA) [patch by Dwedit]
- Drill Dozer (USA) [patch by knizz, see attachments]
- Pokémon: Fire Red/Leaf Green (USA) [patch by knizz, see attachments]
- WarioWare: Mega Microgame$ (USA) [patch by Dwedit]
If anyone else has created any idle loop patches, I'm sure people would be grateful to see them posted. Please try not to turn this into a request thread; people can't just optimize any game that currently runs slow, it has to run slow and run inefficiently and in a way which someone can improve without breaking.