Homebrew Something about the GBA on DSi

  • Thread starter Thread starter WrSmega
  • Start date Start date
  • Views Views 2,276
  • Replies Replies 11
Status
Not open for further replies.

WrSmega

Well-Known Member
Member
Joined
Oct 8, 2008
Messages
558
Reaction score
79
Trophies
1
Location
In the Net
XP
198
Country
United States
IF...The DSi shop release GBA games for download, THEN thats proof that GBA emulation is possible on the DSi
When the DSi GBA games are in a channel, then they can probably be hacked with a patcher and SD card
 
The keyword there is "if". We have no idea if they even will. If they do, great! If not, oh well!

And what makes you think that even if it was released on DSiWare that it could be hacked? We have regular DSiWare right now that can't even be hacked.
 
Does no one use the search function? Or even look at the first page of this forum? There is almost one of these threads every day... and I will now share the same response I give them each time...

QUOTE said:
Let me try and sort this out for you guys...

The DS does have the processing power necessary to "emulate" the GBA in a way (since the hardware is pretty much identical, it's more a matter of mapping matching commands) the problem has never been about the processor, the problem has been with the media (IE, where the rom is stored) and RAM.

A quick explaination of what RAM does... RAM is used to store variables, or things that change as you play. RAM also has another use though, and it's this second use that truly divides GBA from DS... and that is, it can be used to store data for quick access, if the media is expected to take to long to load it.

Now when the GBA was first released... RAM was still relatively pricey for extremely portable electronics so nintendo went with 256k which is miniscule... Programmers really can't do much with that tiny amount of ram, so nintendo, to compensate, had GBA carts manufactured. These carts (like NES/SNES carts before them) had (relatively) fast access times to data, especially random (non-sequential) data. So while the ram on the GBA was incredibly limited, much of the GBA data could quickly and easily be run straight form the cartridge, leaving more of it for the variables necessary for games. The problem with these game cartridges though is that they can be fairly pricey (between 10-20 depending on size with little hope of prices dropping over time) and that meant both nintendo and developers made less money for each game sold.

In comes the DS. Several years later now, RAM prices have dropped considerably and the DS stepped up to 4MB of ram (16x as much as a GBA). This frees up a lot more room for game data to be stored in the RAM so nintendo could thereby skimp on the cartridges. Enter the DS Slot-1 card. These game cards, while able to store more data, also used much slower memory (this is why some DS games have loading screens on occasion, while zero GBA games to my knowledge did) and were much cheaper to make (around 5-10 USD per cart, though that price probably has since dropped as well) so both Nintendo and developers made more money for each game sold making them all much more profitable.

So with that knowledge laid out, let's go back to the original problem of why the DS can't play GBA games from SLOT-1. GBA games are programmed with the belief that if they call data from where the game is stored, it will be executed pretty much instantly. SLOT-1 Devices do not have this ability, they do not have the access speed (especially non-sequentially) that the games require and will thus instantly crash the game.

"But SNES games can be emulated and they are based on cartridges!" Good point! Why do SNES games work but not GBA then? The difference is that SNES games are small, the vast majority under 4MB in size... Exactly the size of the DS's ram. The games work because the entire game is stored in the super fast ram and thus can pull that data as quickly as the game needs. Your typical GBA game, however, is 8-16MB with the largest at 32MB and therefore has no chance of fitting in 4MB.

"But there are SNES games larger than 4MB!" Also true, the author of the emulator uses a couple nifty tricks to handle this... The first and preferred method is if there is a SLOT-2 device with ram, it will use that. The RAM in SLOT-2 is fast enough to handle them. The second, much less preferred way is to freeze the game when it calls for data out of ram. The emulator then clears out a portion of ram and puts that data into play. This has the effect of greatly slowing the game down in certain situations. Now imagine this problem several dozen times worse as GBA games are much larger and would be pulling data not in RAM far more often... yeah... not pretty.

So where does that leave us in general? Well the DSi does have 16MB of RAM, which would mean that there shouldn't be a problem (in theory) of playing the smaller GBA games without any slow down when DSi mode is cracked... but the larger games would still have a problem no doubt.

As for GBA slot-1 on a regular DS... you're not going to get it. No emulator author is going to spend their time on such a project because they know what I've told you all right now, that the RAM constraints (or the data from slot-1 restraints, whichever way you want to look at this problem) are such that there is no software workaround and even if there was one, it would be pointless since you can easily buy a cheap peice of hardware that would make weeks/months worth of work obsolete and run better.

-inhales- Okay... I think that should cover every misconception in this thread... my only fear is that I made it too big and no one will pay attention. If anyone is interested in discussing anything else on this topic, or if anyone would like me to go more in-depth or reexplain something let me know.

Now that response was aimed mostly at regular DS users wanting GBA emulation, but it does contain information on DS as well. The simple answer is, don't get your hopes too high. If virtual console comes to DS, it is FAR more likely that they will initially emulate GB/C games as well as maybe NES games since they are smaller thus easier to manage and easier to emulate.
 
koji2009 said:
Does no one use the search function? Or even look at the first page of this forum? There is almost one of these threads every day... and I will now share the same response I give them each time...

QUOTE said:
Let me try and sort this out for you guys...

The DS does have the processing power necessary to "emulate" the GBA in a way (since the hardware is pretty much identical, it's more a matter of mapping matching commands) the problem has never been about the processor, the problem has been with the media (IE, where the rom is stored) and RAM.

A quick explaination of what RAM does... RAM is used to store variables, or things that change as you play. RAM also has another use though, and it's this second use that truly divides GBA from DS... and that is, it can be used to store data for quick access, if the media is expected to take to long to load it.

Now when the GBA was first released... RAM was still relatively pricey for extremely portable electronics so nintendo went with 256k which is miniscule... Programmers really can't do much with that tiny amount of ram, so nintendo, to compensate, had GBA carts manufactured. These carts (like NES/SNES carts before them) had (relatively) fast access times to data, especially random (non-sequential) data. So while the ram on the GBA was incredibly limited, much of the GBA data could quickly and easily be run straight form the cartridge, leaving more of it for the variables necessary for games. The problem with these game cartridges though is that they can be fairly pricey (between 10-20 depending on size with little hope of prices dropping over time) and that meant both nintendo and developers made less money for each game sold.

In comes the DS. Several years later now, RAM prices have dropped considerably and the DS stepped up to 4MB of ram (16x as much as a GBA). This frees up a lot more room for game data to be stored in the RAM so nintendo could thereby skimp on the cartridges. Enter the DS Slot-1 card. These game cards, while able to store more data, also used much slower memory (this is why some DS games have loading screens on occasion, while zero GBA games to my knowledge did) and were much cheaper to make (around 5-10 USD per cart, though that price probably has since dropped as well) so both Nintendo and developers made more money for each game sold making them all much more profitable.

So with that knowledge laid out, let's go back to the original problem of why the DS can't play GBA games from SLOT-1. GBA games are programmed with the belief that if they call data from where the game is stored, it will be executed pretty much instantly. SLOT-1 Devices do not have this ability, they do not have the access speed (especially non-sequentially) that the games require and will thus instantly crash the game.

"But SNES games can be emulated and they are based on cartridges!" Good point! Why do SNES games work but not GBA then? The difference is that SNES games are small, the vast majority under 4MB in size... Exactly the size of the DS's ram. The games work because the entire game is stored in the super fast ram and thus can pull that data as quickly as the game needs. Your typical GBA game, however, is 8-16MB with the largest at 32MB and therefore has no chance of fitting in 4MB.

"But there are SNES games larger than 4MB!" Also true, the author of the emulator uses a couple nifty tricks to handle this... The first and preferred method is if there is a SLOT-2 device with ram, it will use that. The RAM in SLOT-2 is fast enough to handle them. The second, much less preferred way is to freeze the game when it calls for data out of ram. The emulator then clears out a portion of ram and puts that data into play. This has the effect of greatly slowing the game down in certain situations. Now imagine this problem several dozen times worse as GBA games are much larger and would be pulling data not in RAM far more often... yeah... not pretty.

So where does that leave us in general? Well the DSi does have 16MB of RAM, which would mean that there shouldn't be a problem (in theory) of playing the smaller GBA games without any slow down when DSi mode is cracked... but the larger games would still have a problem no doubt.

As for GBA slot-1 on a regular DS... you're not going to get it. No emulator author is going to spend their time on such a project because they know what I've told you all right now, that the RAM constraints (or the data from slot-1 restraints, whichever way you want to look at this problem) are such that there is no software workaround and even if there was one, it would be pointless since you can easily buy a cheap peice of hardware that would make weeks/months worth of work obsolete and run better.

-inhales- Okay... I think that should cover every misconception in this thread... my only fear is that I made it too big and no one will pay attention. If anyone is interested in discussing anything else on this topic, or if anyone would like me to go more in-depth or reexplain something let me know.

Now that response was aimed mostly at regular DS users wanting GBA emulation, but it does contain information on DS as well. The simple answer is, don't get your hopes too high. If virtual console comes to DS, it is FAR more likely that they will initially emulate GB/C games as well as maybe NES games since they are smaller thus easier to manage and easier to emulate.

Well if its released as DSi ware it might take advantage of the internal memory's/SD card slot's faster read speed.
 
Well. I'm pretty sure Nintendo have hinted GBA games will be on a DSi Virtual Console, and if so, once we have homebrew, there may well be a way to inject a GBA game into a Virtual Console game, like is possible on the Wii. This would mean you could buy a random GBA game from the virtual console, and inject the rom of the GBA game you actually want.

Or wait, was it GB/GBC games Nintendo hinted at? Still, we could probably inject THEM into a Virtual Console game to get them on DSi menu without having to load an emulator, but it'd probably be easier just to load them in an emulator such as lameboy.
 
QUOTE said:
Still, we could probably inject THEM

I am against the inject them. I prefer them coming from Nintendo and any companies.. not people who injected them.. Thats ridiculous!
 
Dont get me wrong, i dont inject on Wii, mainly because i dont own any n64 games, nes games, snes games etc. but it is possible. also, i prefer not to dabble with WADs, because you know, the illegalness of them, but there may be a way on DSi to inject into an installed VC game, rather than a WAD, which could be more useful, because i actually own gba games, and gbc games. but i'd rather just a GBA emulator. which should be theoretically possible. the only reason slot 2 ram was needed on DS was because GBA games where so fast, the DS didnt have enough RAM to cope, but DSi has the RAM DS had with a slot 2 ram pack, so it should work. only problem is there's no native support for gba games like there was on DS, so it'll have to be unofficial software emulation, which wont be as reliable or as good as official hardware emulation. just my thoughts on the matter.
 
As I said on another topic:
Well, if you really wanna find out, you have to see if GBA mode is still there.
We already know that SOME of the GBA hardware IS there, as it's needed to run DS games. However GBA routines are the problem, as ARM7 works diferently on NDS mode and GBA mode. We don't even know if GBA BIOS is still there.
Without GBA mode, you MUST emulate (even though that's not really a problem, as it was stated, it'd be a matter of mapping simmilar commands of ARM7 in gba mode to ARM9/7 in DS mode. The main problem on emulation on the DSL was the RAM.)
Anyone with a DSi could run this? http://www.cryptosystem.org/projects/nds/gbaswitch.nds
On a DS Phat/L, it boots DS on GBA mode, as explained on that page ( http://www.cryptosystem.org/archives/2007/...-mode-switcher/ )
If I'm right, it should boot DSi ond GBA mode, from DS compatibility mode. Be warned, though, as it could leave your DSi stuck on GBA mode, DS mode, or nothing could happen at all.

Also, if anyone is brave enough, you could also try loading the brickers, even though it has no relation with GBA mode.
 
I'd say that's a load of crap. Why the flip would there still be GBA hardware other than the DS required stuff? Makes no sense. Nintendo aren't going to waste money sticking in hardware which isn't necessary. It'll only be software emulation if it ever actually happens. Not hardware. And I doubt that .nds file would do much. Also the brickers I'm pretty sure wouldnt work, they were designed to brick DS for a start, by deleting part of the firmware. DSi works differently it probably wouldn't do anything. Anyway, afaik, later DS Lites were invulnerable to the brickers. They just didn't brick.
 
Wont these threads ever end
dry.gif


Anyway lets think about it logically, i believe that Nintendo realizes the absence of the Slot-2, many see it as a place to stick the EZ Flash 3 in 1 expansion thing, but to me i see it as the absence of playing many of my GBA games, and most importantly migrating Pokemon to Pokemon D/p/pt (yeah i know Pokemon but yeah i like it
smile.gif
)

Im sure that if people make such a big fuss about it, maybe, just maybe, GBA games on the DSi will be available, but yet again that now is far to farfetched to say, yet alone speculate.
 
SifJar said:
I'd say that's a load of crap.
No comments here

Why the flip would there still be GBA hardware other than the DS required stuff? Makes no sense.
Nintendo aren't going to waste money sticking in hardware which isn't necessary. It'll only be software emulation if it ever actually happens. Not hardware.
Thats what I have been saying. Software emulation is pretty possible as stated above, since DSi has 16MB of RAM, enough to run most of the GBA library. I just stated the CHANCE of GBA BIOS still being there.

And I doubt that .nds file would do much.
Of course. In NDS mode, it boots GBA mode. Nothing happens at all if GBA mode is not there. It'd only hang. As I said, it's ONLY to test if GBA mode is there.

Also the brickers I'm pretty sure wouldnt work, they were designed to brick DS for a start, by deleting part of the firmware. DSi works differently it probably wouldn't do anything.
Probably, but Nintendo is just.. lazy?

Anyway, afaik, later DS Lites were invulnerable to the brickers. They just didn't brick.
No. They just deleted your configurations, but still SOME of the (recoverable) firmware was deleted. They were not invulnerable, only the important parts of the firmware were read-only. Anyway, they didn't brick anything, but still deleted something.

Anyway, in my opinion, if you wanna play GBA games, buy a goddamn SLOT-2 and a GBA, they aren't even that expensive. Or wait until DSi security gets broken, and then talk about GBA emulation.
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum