
Originally Posted by
DanTheManMS
GBA games are directly addressed, that is, most data is read directly from the cartridge rather than from RAM. The DS slot is not capable of this method, as it loads chunks of the game into RAM, where it is the run. DimensionT is right in that DS games are streamed from the card in a sense, but GBA games function differently. So you can't run GBA games directly from slot-1.
You can't just use the ARM7 to emulate/simulate the GBA because it functions entirely differently in DS mode than it does in GBA mode. While in GBA mode it handles everything, in DS mode it only handles some buttons, touchscreen, wifi, and power management (among other functions of course). There are functions the ARM7 can handle in GBA mode that are inaccessible in DS mode. So therefore, you can't run GBA games in DS mode at all.
As a result, one must conclude that GBA games must run in GBA mode on the DS. Then the question comes up of where you're going to store the data for the GBA to use. You can't just load up the DS's 4 MB of RAM with GBA game data and then boot into GBA mode, as the DS's RAM is cleared and becomes inaccessible when you go into GBA mode. You can't just load up the GBA's 256 KB of RAM with a multiboot homebrew demo and then boot into DS mode because the GBA's RAM is cleared by the GBA's BIOS when it runs. So therefore, it's not possible to store the game into on-board RAM before execution.
The only other way to get a GBA game working on the DS without a slot-2 device would be an emulator, and nobody is going to write a software renderer that would be slow and buggy when the DS already contains 100% accurate hardware emulation as it is. It would be a waste of time.
Bookmarks