Homebrew I was wondering...

Shazzo

Member
OP
Newcomer
Joined
Aug 6, 2008
Messages
17
Trophies
0
XP
87
Country
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.
smile.gif


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?
 

paul3100

Well-Known Member
Member
Joined
Oct 15, 2007
Messages
506
Trophies
0
Location
scotland
XP
155
Country
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
wacko.gif


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

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

paul
 

Shazzo

Member
OP
Newcomer
Joined
Aug 6, 2008
Messages
17
Trophies
0
XP
87
Country
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?
 

Shazzo

Member
OP
Newcomer
Joined
Aug 6, 2008
Messages
17
Trophies
0
XP
87
Country
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?
 

Destructobot

Crave the Hammer
Member
Joined
Oct 15, 2006
Messages
5,002
Trophies
0
Age
45
Location
Portland, OR
Website
Visit site
XP
321
Country
United States
Shazzo said:
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?
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).
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: 50% closer to getting my teeth fixed +4