Theory on playing GBA games

Discussion in 'NDS - Flashcarts and Accessories' started by joepie91, Feb 11, 2009.

Thread Status:
Not open for further replies.
Feb 11, 2009

Theory on playing GBA games by joepie91 at 7:57 PM (1,948 Views / 0 Likes) 14 replies

  1. joepie91
    OP

    Newcomer joepie91 Member

    Joined:
    Dec 14, 2008
    Messages:
    41
    Country:
    Netherlands
    I am not really into console modding (I generally do coding for Windows only) but wouldn't this method work to be able to play GBA games from Slot-1 cards?

    Some people said that it took too much processing power for a DS to play GBA games. What if we let a PC do all the work? So we just throw a GBA rom into a converter of some kind (if somebody knows how the GBA rom filetype is built, that would help [​IMG]) and then the converter makes a NDS rom from it? Which would basically be a real DS application, not just a loader and a rom, but a real NDS-format game. I am pretty sure there are computers that could handle this. If we get a creator of a Windows GBA emulator to work on this as well, interpreting the GBA rom would be easier, since the emulator programmers know how it works.

    What are your views on this method?
     
  2. Psyfira

    Member Psyfira Credit: 0ml. Insert tea to continue

    Joined:
    Dec 31, 2003
    Messages:
    3,887
    Location:
    England
    Country:
    United Kingdom
    Sorry, it's just not possible. Two handheld games may look similar from where you're sitting, but in the back end it's completely impossible.
     
  3. ZenZero

    Member ZenZero GBATEMP's regular arse.

    Joined:
    Mar 12, 2008
    Messages:
    1,270
    Country:
    United Kingdom
    I see his theory, and i doubt it is impossible to do so - but to get it over 1 fps would be hard
     
  4. iritegood

    Member iritegood GBAtemp Advanced Fan

    Joined:
    May 15, 2007
    Messages:
    759
    Country:
    United States
    This man is a genius.
    How could nobody have thought of this before? What are you developers, retarded? Someone get this man an award!
     
  5. Depravo

    Global Moderator Depravo Jaded curmudgeon

    Joined:
    Oct 13, 2008
    Messages:
    5,076
    Location:
    Purgatory
    Country:
    United Kingdom
    If this kind of conversion were possible then emulators would have never been invented.
     
  6. DanTheManMS

    Member DanTheManMS aka Ricochet Otter

    Joined:
    Jun 2, 2007
    Messages:
    4,325
    Location:
    Georgia
    Country:
    United States
    You're going to get stuck on the "decompile the GBA" game part. It's just not that simple.
     
  7. joepie91
    OP

    Newcomer joepie91 Member

    Joined:
    Dec 14, 2008
    Messages:
    41
    Country:
    Netherlands
    If you just rip the code out of an existing GBA emulator (for the PC) you already have the hard part. Then you just need to make it write to a .nds file instead of "running" it.
     
  8. DanTheManMS

    Member DanTheManMS aka Ricochet Otter

    Joined:
    Jun 2, 2007
    Messages:
    4,325
    Location:
    Georgia
    Country:
    United States
    GBA emulators for the PC do not turn GBA games into Windows *.exe files (or any other OS's executable file type). That's why they're called emulators, not recompilers or converters. They convert nothing so you can't just use the emulation code.
     
  9. Depravo

    Global Moderator Depravo Jaded curmudgeon

    Joined:
    Oct 13, 2008
    Messages:
    5,076
    Location:
    Purgatory
    Country:
    United Kingdom
    That's correct. They would simply go to their favourite torrent site and download a pre-converted version. Even if your theoretical conversion process took DAYS to convert a single game somebody, somewhere would be willing to do it and upload it. The point is if it could be done it would have been done already.
     
  10. Normmatt

    Member Normmatt Former AKAIO Programmer

    Joined:
    Dec 14, 2004
    Messages:
    2,135
    Country:
    New Zealand
    GBA games are ROMS and have no file system so you can never make an automated program to decompile a gba rom into individual files as you never know what is code and what is data, You could recode a gba game into a nds game but it'd have to be done manually and would require some major recoding. It'd probably be easier to use a gba emulator to rip out the gfx and recode it yourself, actually there is the probably about it, it would be easier.
     
  11. joepie91
    OP

    Newcomer joepie91 Member

    Joined:
    Dec 14, 2008
    Messages:
    41
    Country:
    Netherlands
    It's not about splitting into files (as far as I know nds files don't have a filesystem either, but I might be wrong) but about converting it from GBA to NDS. Since an emulator already splits data and code (otherwise it wouldn't be able to emulate anything) it is possible to do it.
     
  12. Normmatt

    Member Normmatt Former AKAIO Programmer

    Joined:
    Dec 14, 2004
    Messages:
    2,135
    Country:
    New Zealand
    NDs files DO have a filesystem, and read from the cart using SPI, wheres gba roms appear in ram all at once and can easily go from reading byte 08000008 to 083FFFFF this cannot easily be emulated on the nds not with a humble 4MB of ram. it would be way to slow.

    Emulators don't split code from data the game does that, the emulator just runs the game's code. There is NO way to differentiate between code and data, without manually doing it yourself.
     
  13. joepie91
    OP

    Newcomer joepie91 Member

    Joined:
    Dec 14, 2008
    Messages:
    41
    Country:
    Netherlands
    Then wouldn't it just work to "catch" all data extracted by the game code? As in, just intercept it? Only problem I could think of, is that you might only be able to grab parts of games that you can play.
     
  14. UltraMagnus

    Member UltraMagnus hic sunt dracones

    Joined:
    Aug 2, 2007
    Messages:
    1,967
    Location:
    Portsmouth
    Country:
    United Kingdom
    well, whilst it would be quite possible to take each machine code instruction in a GBA game, and convert it to instructions for the DS (in essence, this is what a emulator does), it is likely that the converted file would require as much power as an emulator to run.

    this is in essence why a emulator takes a machine 8 times more powerful than the original to run. because for each machine code instruction required to execute on the original system, 8 are required on the emulated system to perform the original instruction.
     
  15. Normmatt

    Member Normmatt Former AKAIO Programmer

    Joined:
    Dec 14, 2004
    Messages:
    2,135
    Country:
    New Zealand
    WRONG!, the GBA and NDS run on an ARM7 and ARM9 respectively, the ARM9 is backwards compatible with the ARM7 code so the code will run fine it just needs updated to use the new registers etc of the nds. unlike the nds however the gba didn't have a centralised official SDK this means you can't do an automatic scan for what code you need to change and there are tooooooo many possible combinations of opcodes.
     
Thread Status:
Not open for further replies.

Share This Page