Can someone please explain why GBA doesn't work?

Discussion in '3DS - Flashcards & Custom Firmwares' started by Janthran, Sep 24, 2011.

Sep 24, 2011
  1. Janthran
    OP

    Member Janthran Solarian

    Joined:
    Sep 17, 2011
    Messages:
    3,777
    Location:
    The Pacific Northwet
    Country:
    United States
    Okay, so I have an Acekard 2i. (Don't start bugging me yet, read the whole thing.)
    I just don't understand this. Acekard can run DS games perfectly fine, but GBA has issues?
    am I right in saying DS takes more CPU to run than GBA? So why can't GBA games be played on the 3DS?
    Also, would it be possible for someone to port some of the more popular games to .NDS format?
    (Like Pokemon Emerald, Minish Cap, those ones.)
    Is there any possible way that GBA games will be emulated on 3DS anytime soon?


    If you could answer those questions, I'd appreciate it. Thanks.
     


  2. Necron

    Member Necron Lurking~

    Joined:
    Dec 29, 2008
    Messages:
    861
    Location:
    Mi casa
    Country:
    Chile
    First, the DS plays the DS games natively, so no emulation or anything here. But to play GBA games the way you want, the DS needs to emulate them. In the DS mode, all the DS's don't have enough power to do that task by themselves.
    Now you ask yourself, why the DS-Dslite can play gba games? Simply, the backwards compatibility is made through hardware, so it's like having a GBA itself.

    About why the GBA games cannot be played on the 3DS atm, it is because the flashcarts are still running them on DS mode, so they don't have acces to the upgrades. Same case for the DSi

    Probably not. When we see a fully-flaged 3DS flashcart/CFW, we could think of the possibility.

    The only solution you have, is buy a DS flashcart with it's own on board ram. That will allow you to emulate gba.
     
  3. s4mid4re

    Member s4mid4re  

    Joined:
    Apr 2, 2011
    Messages:
    1,669
    Country:
    United States
    SuperCard DSTwo can emulate GBA games on DS mode through its built-in CPU, but comsumes more battery than playing DS games.

    For GBA/DS/DS lites, you can get slot-2 flashcarts instead of using slot-1 flashcarts (or a slot-2 flashcart that is compatible with the slot-1 flashcart). DSi/3DS don't have slot-2, so you can't use any slot-2 flashcarts.
     
  4. Necron

    Member Necron Lurking~

    Joined:
    Dec 29, 2008
    Messages:
    861
    Location:
    Mi casa
    Country:
    Chile
    Yep, I edited added that after I wrote the post.
     
  5. ichichfly

    Member ichichfly GBAtemp Advanced Fan

    Joined:
    Sep 23, 2009
    Messages:
    618
    Country:
    Germany
  6. Janthran
    OP

    Member Janthran Solarian

    Joined:
    Sep 17, 2011
    Messages:
    3,777
    Location:
    The Pacific Northwet
    Country:
    United States
  7. chaosdarkneo

    Member chaosdarkneo GBAtemp Advanced Fan

    Joined:
    Sep 13, 2009
    Messages:
    530
    Country:
    United States
    ^Really? NO.

    ALL THE REASONS WHY IT'S NOT POSSIBLE HAVE ALREADY BEEN OUTLINED IN THIS THREAD. (Yes, I'm talking about the emulator. It runs off the DS and the Flashcart's CPU, both of which are too weak to emulate GBA games properly.

    Please, stop asking questions that you have the answer to.
     
  8. Janthran
    OP

    Member Janthran Solarian

    Joined:
    Sep 17, 2011
    Messages:
    3,777
    Location:
    The Pacific Northwet
    Country:
    United States
    You're saying an emulator that exists can't exist?
     
  9. ShadowSoldier

    Member ShadowSoldier GBAtemp Guru

    Joined:
    Oct 8, 2009
    Messages:
    9,383
    Country:
    Canada
    I'm curious as to what makes you think we'd know anything more than you do.
     
  10. Necron

    Member Necron Lurking~

    Joined:
    Dec 29, 2008
    Messages:
    861
    Location:
    Mi casa
    Country:
    Chile
    In terms of gameplay, that is almost the same as nonexistant
     
  11. ichichfly

    Member ichichfly GBAtemp Advanced Fan

    Joined:
    Sep 23, 2009
    Messages:
    618
    Country:
    Germany

    yes the old version if have made many improovs I am currently working on the 32 MB support and after that I have a plan to get the compatibility of the hyperspeedup Version up to ~50% but well all that need time.

    I will release the new hwspeedup version as soon as the 32 Mbyte support works
     
  12. chaosdarkneo

    Member chaosdarkneo GBAtemp Advanced Fan

    Joined:
    Sep 13, 2009
    Messages:
    530
    Country:
    United States
    I'm not saying an emulator doesn't exist. All I'm saying is that any emulator for the GBA will never be good enough to play games well.

    No hurt intended ichichfly, but your emulator will never be able to play GBA games at a good speed. Maybe at most 40-50% of the original speed, but that's all that i think could happen.
     
  13. Rydian

    Member Rydian Resident Furvertâ„¢

    Joined:
    Feb 4, 2010
    Messages:
    27,883
    Location:
    Cave Entrance, Watching Cyan Write Letters
    Country:
    United States
    You can't play GBA games natively from the DS slot.

    The Supercard DSTwo emulates them with it's own power, not using the DS's processor.

    Other things use a slot-2 (GBA slot) cart to play the games from since they won't play from slot-1.

     
  14. DanTheManMS

    Member DanTheManMS aka Ricochet Otter

    Joined:
    Jun 2, 2007
    Messages:
    4,325
    Location:
    Georgia
    Country:
    United States
    Pretty much exactly what Rydian said. (yet I'm still going to add to it for no good reason >_>)

    If you read nothing else I post, read this. The key issue here is the difference between natively running a program on the hardware it's designed for, and emulating in software because you *don't* have the hardware it needs. The GBA/DS situation is much closer to the second one than you might think, and that alone is the setback.

    [further details]

    The DS contains an ARM9 at 66 MHz and an ARM7 at 33 MHz. When in DS mode, it uses the two of them combined for full system operation. When in GBA mode, only the ARM7 is used, underclocked to 16 MHz. The thing is, that ARM7 operates *entirely* differently depending on which mode it's in. That's why even though the DS does technically have the hardware needed to run GBA files natively without software emulation, it can only be done from within GBA mode, and several technical reasons require that to be done from slot-2. If you want to run it from within DS mode, using the full power of both CPUs, you have to do software emulation, which is much much slower and requires much more power to do.

    It is unlikely that we will ever get fullspeed software GBA emulation on the DS and DSLite using only the native on-board components. ichichfly is doing amazing work with his emulator, and quite honestly if you had told me 3 years ago that he would be even this far, I would have said you were insane. Currently the better option seems to be with the SCDS:TWO or any other future carts that arrive with the same idea. We can't make the DS any more powerful, but we can put a fast CPU on the cart itself and have that handle the emulation, simply using the DS for audio/video output and control input.

    On the DSi, you no longer have a slot-2, and while you still have that 33 MHz ARM7 chip, my uneducated guess is that it can no longer function in GBA mode even if you could somehow get the data to it in the first place (not to mention all the other GBA-specific hardware they likely scrapped to save space). Thus, your only option is software emulation. But there too, the DSi is not very powerful overall, and I'm not too hopeful for it either. But hey, I could be wrong - SNES Advance shocked everybody when it first came out, after all. Even still, I still think that having the faster components on the slot-1 cart itself is the best option here.

    Now the 3DS is a much beefier machine, looking at the specs. If and when we can actually *use* that processing power, then I could see it happening if someone bothered to write the emulator. Note however that your initial argument still doesn't work here. The 3DS is *designed* to run DSi and DS files - it has the hardware built-in. You can't say "If it can run DS then it can run GBA" because again those are entirely different modes of "running" the file.

    EDIT: Actually, isn't Nintendo releasing some GBA titles to people who bought the 3DS when it was more expensive? That alone would be a software emulator made directly by Nintendo, meaning it would indeed be possible.

    EDIT 2: Speaking of that distinction, also keep in mind that Nintendo is much more capable of creating a working software emulator than we hobbyists are. They know the system in and out rather than needing to reverse-engineer everything. This is why the Zelda Collector's Edition could exist. Normally I would have said "Flawless N64 emulation on the Gamecube? You're crazy!" And indeed, looking at the homebrew Cube64 emulator, it's not very good at running those games. But Nintendo had the resources to pull it off. You can actually remove the Ocarina of Time and Majora's Mask roms from the Gamecube ISO and replace them with other N64 games, and some of them will run (compatibility isn't the greatest because it's likely Nintendo took shortcuts since only those two games needed to run on it).
     
  15. ichichfly

    Member ichichfly GBAtemp Advanced Fan

    Joined:
    Sep 23, 2009
    Messages:
    618
    Country:
    Germany
    I am not emulating the cpu at all in hyperspeedup Version I disable the cache that lead to masive waitstats on the arm9 because of the bus and other things copy the code to the ram and jump to the code and only emulate the I/O regs swi and so on. That is also the reason why some homebrew run with 200 % speed but if I look at the code and calculate the speed I get only ~150% I don't know why it runs with ~200%.

    ADD: Ok it runs with 200% because of the bus speed that is 200% faster than the one on the gba
     
  16. GeekyGuy

    Global Moderator GeekyGuy Professional loafer

    Joined:
    Jun 21, 2007
    Messages:
    4,739
    Country:
    United States
    Perhaps he/she is unclear about the answer they've been given. This is a discussion forum. We...discuss things here.
     
  17. DanTheManMS

    Member DanTheManMS aka Ricochet Otter

    Joined:
    Jun 2, 2007
    Messages:
    4,325
    Location:
    Georgia
    Country:
    United States
    I'm a bit confused about what you're saying here, but I will admit I have not followed your project fully. Are you saying that you're able to make the ARM7 work like it does in GBA mode even when you're running DS code?
     
  18. ichichfly

    Member ichichfly GBAtemp Advanced Fan

    Joined:
    Sep 23, 2009
    Messages:
    618
    Country:
    Germany
    no I use the arm9 (I need more patches but arm7 is not working because there is no PU) you must know the speed of the cpu is not the only thing that make a system fast. In this case I make things to make the system slow but well.

    I configurate the CP15 to disable the cach (cpu now waits the most time and so result in 8-16 MHz the cpu is still faster but the bus is only ~33 MHz and has mutch waitstates so even the arm7 is faster now because the arm7 is slower (the same speed as the bus result in less waitstate) and has wram ) and to jump to my routin if I/O regs are accesed well there are more things to do but well I don't think most of you understand them.

    ADD: The arm9 is s still faster than the gba arm7 because the arm9 use 2 buses
     
  19. DanTheManMS

    Member DanTheManMS aka Ricochet Otter

    Joined:
    Jun 2, 2007
    Messages:
    4,325
    Location:
    Georgia
    Country:
    United States
    You're right; I don't understand half of what you're saying.

    I stand corrected.

    EDIT: I wish I knew more German so I could understand you better. Ich brauche Deutschkenntnisse.
     
  20. Janthran
    OP

    Member Janthran Solarian

    Joined:
    Sep 17, 2011
    Messages:
    3,777
    Location:
    The Pacific Northwet
    Country:
    United States
    So, with those two thoughts in mind, wouldn't it be possible to take one of said GBA games and replace the file like you said people did with the Zelda collector's edition?
     

Share This Page