- Joined
- Feb 10, 2009
- Messages
- 5,484
- Trophies
- 2
- Location
- Sacramento, California
- Website
- lazerlight.x10.mx
- XP
- 5,501
- Country
I was just thinking this today as I was driving home from work. We all have seen how much battery the GB/C VC games use up, but what about the upcoming GBA VC titles? People might think because it is more powerful hardware in comparison that it will drain it more. However, I am thinking they may actually drain the battery less.
(This is just my opinion from what I understand on the matter. If there is anything incorrect, please inform me. Thank you)
The main part of device emulation is emulating the CPU. The 3DS's CPU is ARM-based (possibly an ARM11). The GBC's CPU is a Zilog Z80. But, the GBA's CPU is ARM7. Based on data sheets, an ARM11 can run ARM7 code without having to emulate the instructions (with a general rule of 10:1 outside of dynamic recompilation). We've also seen that the 3DS plays DS games (which btw use code based on ARM9 and ARM7 instructions) under virtualization, which isn't emulation. Based on this, the 3DS could possibly execute GBA CPU instructions natively.
Another part of device emulation is emulating the rest of the hardware. Looking at the DS system, the DS can play GBA games. It does this because it is structured with not just having hardware support for 3D graphics (not the 3D effect), but also 2D graphics in an extended fashion that the GBA uses (you can check the technical info here). In fact, the DS/L/i at the very least uses the extended GBA-like hardware (as well as the same ARM7 at 2x the frequency). For the 3DS to be able to play DS games, it would require being able to handle what the DS can (which it can), which in theory would mean it can more or less handle what the GBA can, all outside of emulation.
Not to say GBA VC games won't incorporate any emulation at all, but more in a minimal fashion for parts that are not directly supported (which would include things like cart addressing since there is no GBA slot).
(This is just my opinion from what I understand on the matter. If there is anything incorrect, please inform me. Thank you)
The main part of device emulation is emulating the CPU. The 3DS's CPU is ARM-based (possibly an ARM11). The GBC's CPU is a Zilog Z80. But, the GBA's CPU is ARM7. Based on data sheets, an ARM11 can run ARM7 code without having to emulate the instructions (with a general rule of 10:1 outside of dynamic recompilation). We've also seen that the 3DS plays DS games (which btw use code based on ARM9 and ARM7 instructions) under virtualization, which isn't emulation. Based on this, the 3DS could possibly execute GBA CPU instructions natively.
Another part of device emulation is emulating the rest of the hardware. Looking at the DS system, the DS can play GBA games. It does this because it is structured with not just having hardware support for 3D graphics (not the 3D effect), but also 2D graphics in an extended fashion that the GBA uses (you can check the technical info here). In fact, the DS/L/i at the very least uses the extended GBA-like hardware (as well as the same ARM7 at 2x the frequency). For the 3DS to be able to play DS games, it would require being able to handle what the DS can (which it can), which in theory would mean it can more or less handle what the GBA can, all outside of emulation.
Not to say GBA VC games won't incorporate any emulation at all, but more in a minimal fashion for parts that are not directly supported (which would include things like cart addressing since there is no GBA slot).