The 3DS uses an onboard ARM7 core to run ARM7 code in TWL-mode and AGB-mode. 3dbrew has this to say about it
What I'm interested in is a more in-depth explanation.
Nintendo obviously took the easy way out and just slapped an ARM7 on there, but I'm looking for clarification on the "hardware is not physically hooked up to ARM11" part. The 3DS hardware is basically the same as the DS hardware (at least, things like the the WiFi module, screens, microphone, etc). I don't know enough about the architecture of the 3DS to say which cores handle which pieces of hardware, but if *hax and homebrew can run solely on the ARM11, doesn't that mean the ARM11 has hardware access to the 3DS hardware regardless? So, why isn't it possible to directly execute ARM7 instructions from GBA roms or even DS roms on the ARM11, provided my assumption that the ARM11 has backwards compatibility with whatever instruction set the ARM7 runs (ARMv4T? ARMv3?) is correct.
(virtualise might be a better word than emulate)
https://www.3dbrew.org/wiki/ARM7_Registers said:The 3DS utilizes an onboard ARM7 core to handle TWL_FIRM and AGB_FIRM's ARM7 requirements. This is due to the fact that much of the hardware used by both ARM7 and ARM9 is (evidently) not physically hooked up to ARM11. Thus, ARM11 cannot simply emulate ARM7.
What I'm interested in is a more in-depth explanation.
Nintendo obviously took the easy way out and just slapped an ARM7 on there, but I'm looking for clarification on the "hardware is not physically hooked up to ARM11" part. The 3DS hardware is basically the same as the DS hardware (at least, things like the the WiFi module, screens, microphone, etc). I don't know enough about the architecture of the 3DS to say which cores handle which pieces of hardware, but if *hax and homebrew can run solely on the ARM11, doesn't that mean the ARM11 has hardware access to the 3DS hardware regardless? So, why isn't it possible to directly execute ARM7 instructions from GBA roms or even DS roms on the ARM11, provided my assumption that the ARM11 has backwards compatibility with whatever instruction set the ARM7 runs (ARMv4T? ARMv3?) is correct.
(virtualise might be a better word than emulate)
Last edited by chyyran,