I was wondering...

Discussion in 'NDS - Emulation and Homebrew' started by Shazzo, Aug 6, 2008.

Aug 6, 2008

I was wondering... by Shazzo at 9:49 AM (918 Views / 0 Likes) 5 replies

  1. Shazzo
    OP

    Newcomer Shazzo Member

    Joined:
    Aug 6, 2008
    Messages:
    17
    Country:
    Australia
    Hello, I'm Shazzo. I'm an amateur coder, specialising in Game Maker and currently learning C#.

    I joined this forum because I've had this thought that's been bugging me for the past week or so... it concerns GBA emulation on the DS.
    I'm not asking for an emulator because I know there aren't any, and I'm not requesting that someone make one for me.

    I was hoping someone could explain to me exactly why a DS can't emulate GBA.
    I'm aware that to emulate, the DS needs to reroute it's resources so that it can imitate the functionlity of the original console. Since the DS can only emulate a console, not truly recreate it, there are issues like slowdown and crashing.
    However, the DS, I believe, actually has the hardware to correctly render GBA, which is why GBA cartridges can be played on DS. Based on that, couldn't a GBA emulator, theoretically, use the DS's internal hardware to emulate a GBA game?

    Aside from that, there's the issue of Slot 1 vs. Slot 2. I've read several times that GBA games can only be played with a slot 2 device. Could someone explain why? I would've thought that the slot 1, having the power to play DS games, with larger file sizes, RAM, and even 3D graphics, would be easily capable of achieving what the slot 2 device can, and more. Am I missing something?

    That brings me to my last point. Slot 1 devices are capable of booting games from slot 2. I'm aware that this isn't emulation, but just a standard DS feature. The DS is reading directly from the second slot. Would it be possible to tell the DS at this point, not to read from slot 2, but from slot 1?
    Take Hamza's infamous GBA emulator, for example. All it does is boot whatever game is in slot 2. Could the code of the emulator be changed so that rather than booting slot 2, it boots a .gba file stored in the slot 1 device? I'm not asking that someone try it, I'd just like to know if this is even possible.

    I'd appreciate any information you can give me. I'd really like to learn more about the capabilities of gaming hardware, as I'm hoping to become a games developer when I graduate from uni.

    Thanks for your time. [​IMG]

    EDIT: I'm sorry, I've just realised that I've asked this in the wrong forum. SHould I delete this post and write it in the Emulation forum, or will a mod move it?
     
  2. paul3100

    Member paul3100 GBAtemp Advanced Fan

    Joined:
    Oct 15, 2007
    Messages:
    510
    Location:
    scotland
    Country:
    United Kingdom
    No expert but....

    The nintendo ds has the actual gba chips inside which is why it can play gba games perfectly, so the ds doesn't emulate the gba but is in fact a ds & gba in one.

    Sure we can play DS games through slot 1 & 2 but not gba in slot 1 as there doesn't seem to be any way of doing this, or non that has been found in its almost 4 years of existence.

    No point in ever trying to emulate the gba on the ds as the ds already supports gba through its gba chip set, emulating the gba on the ds chip set would be pointless! , it would run as 5fps if your lucky with dodgy sound and corrupt graphics ....Basically if anyone wanted gba games they purchase a slot 2 for near perfect gba game play.

    The psps has problems with gba emulation and its some much better (technically) than the ds so its a no brainer [​IMG]

    ...........................................

    I think to successfully get gba games booting from slot one would require some sort of modification of the DS

    paul
     
  3. Shazzo
    OP

    Newcomer Shazzo Member

    Joined:
    Aug 6, 2008
    Messages:
    17
    Country:
    Australia
    I see. So what has stopped developers from being able to bridge the gap between the slots?
    I've read that applications like NeoDS and the Opera Browser can read from the GBA slot, which is what made me wonder about this in the first place. Am I missing something?
     
  4. Lumstar

    Member Lumstar Princess

    Joined:
    Mar 6, 2006
    Messages:
    3,531
    Location:
    Darling
    Country:
    United States
    We can transfer data to and from the GBA slot, but not run GBA-mode code so far.

    None of the theories on why it isn't possible, or theories of how to make it happen, have proven correct.
     
  5. Shazzo
    OP

    Newcomer Shazzo Member

    Joined:
    Aug 6, 2008
    Messages:
    17
    Country:
    Australia
    Okay... so no-one has been able to figure it out yet. Does anyone know what the main problem is? Or is it still a mystery?
     
  6. Destructobot

    Member Destructobot Crave the Hammer

    Joined:
    Oct 15, 2006
    Messages:
    5,005
    Location:
    Portland, OR
    Country:
    United States
    The current reason that GBA games can only be played from slot 2 is that slot 1 is not accessible in GBA mode. As paul3100 said, the DS essentially has a built in GBA, and the GBA BIOS does not allow any DS specific hardware to be used in GBA mode (slot 2 and some of the GBA hardware can be accessed in DS mode though). The BIOS is stored in ROM on one of the main chips, so it cannot be altered or replaced.

    As for slot 1 being fast enough to run GBA games because it's fast enough for DS games, I don't think it's quite that simple. The GBA used an execute in place method of running software. This means that code can be run directly from ROM, so it doesn't need as much main memory. The DS uses its game paks more like an optical disc; everything must be loaded into main memory before it can be used. In order to get the best performance the DS needs higher data throughput than the GBA, but access time is not as important. The DS could also use block addressing (not sure if it does though) while XIP requires byte addressing.

    An emulator could probably run a GBA game from slot 1, but it would probably run better from slot 2 (not that it's likely to run well either way, but then again the GBA can emulate the GBC pretty well, and people used to say that was impossible).
     

Share This Page