• Welcome to SCdev.org. Please log in.

Welcome to the new SCdev forums!

.

Started by cheerup347, April 06, 2007, 05:47:25 AM

Previous topic - Next topic

cheerup347

.
.

strells

Uh...you can't magically change software destined to run on one kind of hardware to run on another kind without reprogramming it to work on the different hardware.  This is the basis of all the problems in the past about Macs not running PC software and vice versa and other "platform battles."  Through emulation, you can trick software into thinking it's running on different hardware, but that requires a separate program, not a change to the original program.  Intel Macs use Rosetta to run older PowerPC code and software like Parallels or VMWare to run Windows programs in emulation (though in that case, not as much emulation is required since Windows software runs on Intel hardware, which the new Macs have).  You can't run Wii software on a PS3 or Xbox 360.  Same idea.

Steve

felix

It is possible. Rip out all the graphics/music/text files from the GBA rom, and write a new NDS rom that uses those files.
size=8]DS3, FM7, SCmSD1.80/2.60, WRT54GL with Tomato Firmware[/size]

754boy

Quote from: "felix"It is possible. Rip out all the graphics/music/text files from the GBA rom, and write a new NDS rom that uses those files.

Dude, its not that simple lol. The game would have to be recoded  :roll:

NamErehWon

This sounds like an idea I've been bouncing around my head for a while. What about a DS wrapper for GBA software? Not necessarily a GBA emulator for the DS, but a way of running the ROM on the ARM7 while allowing the DS's extra hardware to handle things like managing the sram saves and running off the storage media/DS RAM rather than the supercard's ram.

Koji

Except some of the hardware the GBA requires is not accessible from DS mode.

NamErehWon

Think you can point me in the direction of some resources on the DS hardware? For example, what GBA hardware in particular is inaccessible? I'd like to find a way to do this, even if it requires some hardware modding to do so.

felix

Quote from: "754boy"Dude, its not that simple lol. The game would have to be recoded
Dude, I never said it is simple, just that it is possible.
size=8]DS3, FM7, SCmSD1.80/2.60, WRT54GL with Tomato Firmware[/size]

754boy

Quote from: "felix"
Quote from: "754boy"Dude, its not that simple lol. The game would have to be recoded
Dude, I never said it is simple, just that it is possible.

Well I guess you right about that. Well good luck with that.

Devil_Spawn

Quote from: "cheerup347"hi,

i have no idea about this so im jsut asking.

would it not be possible to turn a gba rom or a snes rom into a ds rom playable on the r4?

i have no idea how it works so i'm not sure but i think it woud be great if a program was made to turn a gba rom into a nds rom playable on r4's and supercard lites (without the gba bit)

thanks

haha, your funny  :lol:

bitblt

Quote from: "cheerup347"would it not be possible to turn a gba rom or a snes rom into a ds rom playable on the r4?
Quote from: "NamErehWon"Think you can point me in the direction of some resources on the DS hardware? For example, what GBA hardware in particular is inaccessible? I'd like to find a way to do this, even if it requires some hardware modding to do so.

Nope. It's not going to happen. We have talked about this before . . .

It's physically impossible to run GBA code using a slot 1 device, without using additional slot 2 hardware. None of the slot 1 devices (DSLink, SCDS, R4) are going to support GBA directly. The only way for a slot 1 device to run GBA code (or SNES code) is if someone writes an emulator. PERIOD.

The first thing you need to understand is that when the DS switches to GBA mode the system disables DS specific features like, ARM9 processor, RTC, 4MB RAM, WIFI, touch interface, second LCD, DS specific 2D/3D graphics, DS sound DACs, microphone, buttons XY, and slot1 access. These features can’t be used in GBA mode because the DS hardware is physically hardwired to behave like a real GBA system. This is why you don't find GBA homebrew that can take advantage of DS specific features, like a GBA game that uses the touch screen, or a GBA utility that can dump a DS game inserted in slot1. It's also impossible to switch from GBA mode to DS mode without a power cycle.

The second thing you need to understand is that DS games execute different from the way GBA games execute. Nintendo designed DS game data to be streamed from slot1 (as needed) into the 4MB of DS RAM. All DS games are executed out of this 4MB of ram. DS games that are bigger than 4MB must be loaded and executed in smaller parts.

(Note when the DS is operating in DS mode slot2 remains available for DS option packs. DarkFader discovered that the ARM9 processor could be redirected to execute unsigned DS code from slot2 using a homemade pass thorough device.)

On the other hand, GBA games are not streamed into RAM and executed the way DS games are. GBA game ROMs are mapped directly into GBA address space and executed in place. This means GBA games must execute from slot2. When the DS is running in GBA mode it's hardwired to behave like a real GBA system and therefore can only execute GBA code in GBA mode from slot2. PERIOD.

(Note slot 2 GBA flash cards work by loading game code into internal flash card RAM that is then mapped into the same address space as a real game ROM.)

Now it is possible to use additional hardware that sits in slot2 and interfaces with the slot1 card to run GBA games. (The DSLink and EZV teams offer slot2 expansions for GBA) It's also possible for someone to develop a GBA software emulator for DS, but that is very unlikely IMHO.

Perseid

I don't mean to sound like too big of a jerk, but if you really want GBA games just get a slot-2 cart. Even the EZ5 expansion works with the R4 now doesn't it? I personally think coding a GBA emulator for the DS would be a waste of time that could be spent on something better.