View Full Version : Thought : Re. GBA roms
Jayenkai
09-28-2006, 11:05 AM
If you use a different type of cart, simply selecting a GBA rom would get the game going.
It does this (I expect) by soft-resetting the system, and starting the rom.. Am I right?!
(Probably not!)
The main issue we have is that the MMD browser doesn't let us select the GBA roms, 'cos it doesn't know what they are...
Q: If we loaded a different DS browser in, (obviously tweaked to allow it to run with the fat system, as with Scumm + co) , and then used that browser to pick a GBA rom, what would happen?
Q2 : What's the point of Zips? I don't seem to be able to do anything with them.
t1x2irc
09-28-2006, 10:13 PM
hello mml owners
here are my findings so far in gba booting
prior to the 1.2 update i was able to open bootme.nds in a hex editor and change NDS to GBA and it actually assigned the icon to the gba file instead of a question mark ...but still would not boot the blasted file if you rename a nds to gba it boots that of course.
anyway ...
i have tried to hex edit the 1.22 version and it will not work after the edit must be a new digital signature or something
i have also been experimenting with using SATA's fine / rein file select menu in hopes to launch from there. i added the mml fat driver and first attempted to boot a nds file from there the problem with that it would freeze
so i changed some numbers in the boot snippit below
REG_IME = IME_DISABLE; // Disable interrupts
WAIT_CR |= (0x8080); // ARM7 has access to GBA cart
*((vu32*)0x027FFE08) = (u32)0xE59FF014; // ldr pc, 0x027FFE24
*((vu32*)0x027FFE24) = (u32)0x027FFE08; // Set ARM9 Loop address
swiSoftReset(); // Reset
tried the following combinations :
((vu32*)0x027FFE00) to *((vu32*)0x027FFE10) (0 - 10)
and
(u32)0xE59FF000 to (u32)0xE59FF010 (0 - 10)
in an attempt to at least boot something even if it was a demo
....nothing worked sorry
this is where i got the idea :
if you have a look in the moonshell source you'll see in the plugin folder the following files
plug_ndsrom_ez4.h
plug_ndsrom_gbamp.h
plug_ndsrom_m3.h
plug_ndsrom_sc.h
((vu32*)0x027FFE04) )_ used for GBAMP
(u32)0xE59FF018 )- used for GBAMP
((vu32*)0x027FFE08) )_ used for M3 / SuperCard / EZ4
(u32)0xE59FF014 )- used for M3 / SuperCard / EZ4
i also added the following functions used in M3 / SuperCard / EZ4 plugins
resetMemory1_ARM9();
resetMemory2_ARM9();
that didn't amount to much .. oh well
i didn't spend a lot of time with this being the whole gba goal and all
so ..
where i stand now is replacing the boot function with what i beleive to be a valid gba boot sequence function i found in tftpds
http://www.itstud.chalmers.se/~larssten/nds/
******************arm7***************
resetMemory_ARM7();
// http://nocash.emubase.de/gbatek.htm#dsbackwardscompatiblegbamode
// enable sound amplifier & upper backlight
while (SERIAL_CR & SPI_BUSY);
SERIAL_CR = SPI_ENABLE | SPI_BAUD_1MHZ | SPI_BYTE_MODE | SPI_CONTINUOUS | SPI_DEVICE_POWER;
SERIAL_DATA = PM_CONTROL_REG;
while (SERIAL_CR & SPI_BUSY);
SERIAL_CR = SPI_ENABLE | SPI_BAUD_1MHZ | SPI_BYTE_MODE | SPI_DEVICE_POWER;
SERIAL_DATA = PM_SOUND_PWR | PM_BACKLIGHT_TOP;
while (SERIAL_CR & SPI_BUSY);
SERIAL_CR = 0;
while(REG_VCOUNT != 200); // Wait for VBlank
// enter GBA mode
__asm volatile (
"mov r2,#0x40\n"
"swi 0x1f0000\n"
:
:
: "r2"
);
******************arm9***************
resetMemory1_ARM9();
resetMemory2_ARM9();
http://nocash.emubase.de/gbatek.htm#dsbackwardscompatiblegbamode
WAIT_CR |= 0x8080; // ARM7 has access to GBA cart
POWER_CR = POWER_SWAP_LCDS | POWER_LCD | POWER_2D_A;
WAIT_CR &= ~0x4000; // set Async Main Memory mode
// notify arm7
IPC->mailData = 2;
// halt indefinitly
swiWaitForIRQ();
so far i have had no luck compiling to something usefull but i do feel like i'm getting closer to this ...
just thought i'd keep every one updated with my attempts
if any other devs want to share some code / suggestions or have a crack at this that would be great.
later, t1
Jayenkai
09-29-2006, 06:22 AM
I haven't the foggiest what any of that means!
.. Well, ok, I got the jist of it, but I did have to read it a couple of times to figure it all out.
If the Datel code works the same way as their Action Replay devices, then it means the MMD player software will still be resident, once the 2 chips are reset, and that the GBA code wouldn't run at it's normal location, but a slightly offset one. You'd need to take that into account, I think, and somehow get the chip offsets to reconfigure slightly.
Also, the MaxOverload device, from what I can tell, goes through the rom and changes offsets to their relative positions in the CF card. You might need to somehow do that to a GBA rom, too..
It would be much easier if we knew that the MMD was being flushed out completely. Any way to check that, before starting to load other stuff in?
bueatifulraven
08-23-2007, 04:08 PM
umm there is this application that let's you hide a .GBA file into and .NDS one, but I haven't been able to find a download link. it's on neoflash.
bueatifulraven
08-23-2007, 05:24 PM
it's called ndstation.
Kazayami
08-23-2007, 05:56 PM
It's due to the GBA needing a certain amount of writable RAM on the cart, which the MMD doesnt posess. I doubt it's possible even if you could select it. Datel may be stupid, but they wouldnt withold a possible selling point if it was of no cost to them. It's simple economics.
Jayenkai
08-24-2007, 06:10 AM
After the many months since originally posting (almost a year ago, wow!) I've come to that very same conclusion.
Kazayami
08-24-2007, 11:14 AM
ROFL I didnt notice this was a bumped old thread
talonreaper
08-24-2007, 11:54 AM
I found out something: DSOrganize can run sc.nds ds.gba and .nds. Never knew that. If devvy's can make .nds and ds.gba of their works, why can't they convert between the two?
voteforpedro36
08-24-2007, 04:25 PM
I found out something: DSOrganize can run sc.nds ds.gba and .nds. Never knew that. If devvy's can make .nds and ds.gba of their works, why can't they convert between the two?
They can, between .nds and ds.gba. Not between .nds and .gba though. Note the [ds].gba.
And, before I looked at the topic, here's my thoughts:
No.
damothehacker
08-25-2007, 10:45 AM
where can i download DSOrganize that will work on the MMD:confused:
talonreaper
08-25-2007, 04:59 PM
Is it possible to convert .gba to ds.gba?
Kazayami
08-25-2007, 06:09 PM
No, its a whole different thing altogether. GBA uses the legacy hardware, but ds.gba uses the ARMs
voteforpedro36
08-26-2007, 05:00 PM
where can i download DSOrganize that will work on the MMD:confused:
Anywhere that you can download DSOrganize.
Powered by vBulletin™ Version 4.0.2 Copyright © 2010 vBulletin Solutions, Inc. All rights reserved.