1. chyyran

    OP chyyran somehow a weeb now.
    Developer

    Joined:
    Dec 10, 2009
    Messages:
    2,844
    Country:
    Canada
    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)
     
    Last edited by chyyran, Jan 17, 2016
  2. dpad_5678

    dpad_5678 Ape weak on own. Ape strong in unity.
    Member

    Joined:
    Nov 19, 2015
    Messages:
    2,210
    Country:
    United States
    I'm sure it can emulate it. Very shittely. With some coding, but it wont simply load the NDS files onto the TWL_NAND like it does when you boot an NDS cartridge. It will lag terribly nad will be pretty much unplayable.

    3DBrew probably means emulation as in full speed which is impossible.

    No one will try it though. I won't. You certainly won't. And since NDS flashcards are usually under $15 (at the most $35 for a SC DSTWO), I doubt it's worth anyone else's time.
     
  3. chyyran

    OP chyyran somehow a weeb now.
    Developer

    Joined:
    Dec 10, 2009
    Messages:
    2,844
    Country:
    Canada
    It says pretty specifically that ARM11 can not act as an ARM7 because some hardware isn't hooked up. AFAIK, the instruction set its backwards compatible, that is you should be able to directly execute ARM7 instructions on the ARM11. What I want to know is specifically what hardware the ARM11 doesn't have access to that prevents it from acting as a substitute ARM7. Even if I probably won't manage to write a VM for it myself, I'm curious as to why it's impractical, besides the fact that it's a lot of work for little payoff.
     
    clank likes this.
  4. ~Poke~

    ~Poke~ GBAtemp Regular
    Member

    Joined:
    Aug 18, 2015
    Messages:
    260
    Country:
    I'm not an expert on this, but I do know that the ARM11 cpu doesn't have direct access to a lot of hardware (even things like reading from the SD card), and has to request it via the ARM9 kernel. That would interfere with any ARM9/7 code (at least, GBA/DS code) running directly on the ARM11 cpu since it would try to access things directly rather than request it.
    That said, I wonder if this can be adjusted for, and if that would allow ARM7 code to run? Perhaps if they're very heavily patched, things like GBA games could run? (Fair warning, I don't know too much about this so I'm basically talking out of my ass here.)
     
  5. nIxx

    nIxx GBAtemp Advanced Maniac
    Member

    Joined:
    Sep 30, 2007
    Messages:
    1,545
    Country:
    Gambia, The
    I think you should better ask this kind of questions in #3dsdev ;)
     
  6. tony_2018

    tony_2018 GBAtemp Psycho!
    Member

    Joined:
    Jan 3, 2014
    Messages:
    3,107
    Country:
    United States
  7. the assaf

    the assaf GBAtemp Fan
    Member

    Joined:
    Jun 2, 2013
    Messages:
    489
    Country:
    Same reason potato can't emulate ARN7.
     
    davidlc likes this.
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - Specific, reasons, emulate