#91194 - Dwedit - Wed Jul 05, 2006 6:49 am
Just asking because I plan on integrating Loopy/Flubba's emulators inside the GBAMP's firmware for more cache pages to be available to emulated games.
Just a few questions about the GBAMP:
Is the 512 bytes of memory at the beginning of each 16k actually usable? If so, you can get up to 32k of contiguous code multiple times.
Is there any big areas safe to overwrite besides the two background images? (use a backimg to replace what would get junked up) There seems to be a lot of free areas, but are they really used as bookmark saving space?
Reduced Picture of a GBAMP firmware dump (in titlescreen palette.) (Picture's size has been reduced, so there's no way to reconstruct the original gbamp firmware binary from it.)
Black areas are fields of FF's. Black lines are FF fields on page edges.
[Images not permitted - Click here to view it]
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#91646 - Lazy1 - Sat Jul 08, 2006 3:36 pm
I have no idea, but if you manage to compile the gbamp firmware hack let me know.
I'm very interested in making a few changes.
#91692 - Dwedit - Sat Jul 08, 2006 8:56 pm
Like what?
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#91693 - Lazy1 - Sat Jul 08, 2006 9:15 pm
- Moving the original firmware into a seperate launchable app.
- Replacing the original firmware with a fast multiboot launcher.
- Holding Y while booting on the DS goes directly into gba mode.
I already have a working multiboot launcher ( loads pocketnes without any problems ) and I want to decrease the amount of time it takes to boot gba homebrew on the DS.
#91694 - Dwedit - Sat Jul 08, 2006 9:32 pm
My plan was integrating PocketNES, SMSadvance, and Goomba, and an MB launcher, and still providing the ability to run the normal firmware. I had no DS plans.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."
#91696 - Lazy1 - Sat Jul 08, 2006 9:36 pm
I know, and actually, the code to boot to gba while holding Y is really easy to do.
I just cannot build the firmware hack to test it, tried for days but no luck.
[Added]
I managed to compile it by using the devkitarm linkscripts instead of the ones included with the source.
Wasn't a good idea since it wouldn't boot in DS mode anymore, luckily ( and oddly ) gba mode still worked so I could recover.
Oh, the error I get while compiling is...
Code: |
c:\devkitpro\devkitarm\arm-eabi\bin\ld.real.exe: error: no memory region specified for loadable section `.init_array'
|
#91717 - tepples - Sun Jul 09, 2006 12:15 am
I'd say use B for GBA mode, just as the unmodified DS firmware does in auto mode (Select+B if you use FlashMe and NDSMP). Then possibly L to skip straight to _boot_mp.gba.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#91721 - Lazy1 - Sun Jul 09, 2006 12:27 am
If dwedit is going to add a multiboot launcher then I have no need to modify the fw hack anymore.
I'd still like to be able to compile it though, see if I know/remember enough arm asm to use the Y/B key to auto boot gba mode.
#91733 - chishm - Sun Jul 09, 2006 2:24 am
It won't compile unmodified in DKP r19+, since the linkscripts were written for arm-elf-, not arm-eabi-.
_________________
http://chishm.drunkencoders.com
http://dldi.drunkencoders.com
#91736 - Dwedit - Sun Jul 09, 2006 2:46 am
I wonder if the GBAMP emulators would fit easily in the the GBAMP's blank spaces. There appears to be 192k of space made up of the default background images + 81k of FF's. I bet if the user specified a backimage, the whole 192k would be discardable.
Right now I'm trying to build Pocketnes GBAMP for execution from the ROM area, and besides the weird linker error I'm getting over in that other thread, I got some questions about executing ROM code on a GBAMP.
1) Can you execute code directly from a GBAMP's rom?
2) Can you read sectors or other registers of the GBAMP from code running in the GBAMP's rom?
3) Can you have code on the usually blank 512 byte strips?
Yes, I know about the 16384 byte mirroring thing. If you arrange your code such that it's designed to start at the last mirror of the 16k, you can have the byte afterward be the first byte of the next 16k, so you can get 32k of contiguous code. The GBAMP emulators are fine there, they just need up to 32k of contiguous rom code.
All I hope now is that tampering with the non-boot area won't cause a "fake card" error. If it does, we need to crack the GBAMP's fake card detection routine.
_________________
"We are merely sprites that dance at the beck and call of our button pressing overlord."