#71243 - HyperHacker - Sat Feb 11, 2006 11:51 am
Just released a nice little app. (For that matter, my first useful DS app.) Since I'm lazy I'll just copy the first bit of the readme here:
This is a program for your DS that allows you to configure several options of GBA Mode just before you start the game, without having to change your settings in the firmware. It requires PassMe, FlashMe, WifiMe or some other homebrew boot method to be used; see http://pineight.com/ds/pass/ if you don't know what these are.
Things it can do:
-Choose which screen to run the game on right before starting the game (no having to open the options, change it, and reboot).
-Turn the backlight on or off before starting the game, without saving the change (so if you turn it off, it'll still be on next time you start up).
-Turn the sound amplifier off.
-Select from 5 built-in screen borders, or load one from your CF or SD card.
-Boot Gameshark Advance, which normally crashes on the DS. (Simply don't insert the GSA until the menu appears.)
-Start the game even if the DS does not detect it as a GBA game (eg for cartridges that are misread as Option Paks, or if you just want to stare at the Game Boy logo for some reason).
Enjoy. :-)
#71248 - Roc - Sat Feb 11, 2006 12:07 pm
Wow, I'm very impressed. This is a useful little thing. Having a coloured border around the game is much nicer than the plain black. Plus it's cool that you can 'hot swap' GBA games, didn't know that was possible.
Anyway, it works fine on my GBAMP + Flashme'd DS, thanks.
#71252 - HyperHacker - Sat Feb 11, 2006 12:17 pm
Yeah, I was almost kinda ticked off when I realized you could hot swap. I'd been stepping through all sorts of code and poking at various registers trying to reset the Gameshark hardware so it would boot up. (Apparently the firmware reads from some unused addresses, confusing it.) Then I realized all I had to do was pull it out and stick it back in again. The firmware freezes if you do this, I guess because it's constantly accessing the cart for some reason. (The app was originally meant to constantly refresh the game info, rather than have it be an option in the menu, but it suffered from the same freezing problem doing this; seems to occurr when the cartridge is removed while it's being read.)
Of course the best part about hot swapping is you can load an image from your GBAMP/M3/etc and play an actual GBA game. It does freeze if you try to view the file list without the card inserted, not really any way to avoid this.
BTW the first line of text before the game name shows some debug output. Can anyone who uses various loaders (such as Bafio's wifi transfer) tell me what shows up for "Loader vX", and whether the Return To Menu option works? Also to those who use PassMe and/or M3, does it work well with them? I only have a GBAMP, FlashMe and WMB to test with.
Last edited by HyperHacker on Sat Feb 11, 2006 12:19 pm; edited 1 time in total
#71253 - Darkflame - Sat Feb 11, 2006 12:19 pm
Cool, very usefull! :)
*wi-fi's it to his GBAMP*
#71255 - HyperHacker - Sat Feb 11, 2006 12:28 pm
I'm actually rather impressed myself... I only really wrote it so I wouldn't have to reboot when I wanted to play GB/NES games using the GBAMP, but accidentally booted into Moonshell instead. :-p Then I figured as long as it's providing the ability to boot into GBA mode, it may as well have some useful options.
Making the file list scroll was a huge pain. Though I was surprised how easy it was to actually browse the directories and open files. Chishm's library really simplifies things.
#71265 - Sektor - Sat Feb 11, 2006 2:34 pm
It just white screens when launched from M3. I sent it by WMB, inserted M3, the option to find an image didn't show up but I was able to boot the M3 in GBA mode with the included borders.
Last edited by Sektor on Sun Feb 12, 2006 3:04 am; edited 2 times in total
#71267 - tepples - Sat Feb 11, 2006 2:38 pm
HyperHacker wrote: |
-Start the game even if the DS does not detect it as a GBA game (eg for cartridges that are misread as Option Paks, or if you just want to stare at the Game Boy logo for some reason). |
Or if somebody manages to find the serial traces coming out of the CPU.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#71281 - Roc - Sat Feb 11, 2006 3:56 pm
hyperhacker wrote: |
BTW the first line of text before the game name shows some debug output. Can anyone who uses various loaders (such as Bafio's wifi transfer) tell me what shows up for "Loader vX", and whether the Return To Menu option works? Also to those who use PassMe and/or M3, does it work well with them? I only have a GBAMP, FlashMe and WMB to test with. |
I load it with Moonshell, and get
Code: |
Loader v0, Menu 01/07 17PP St 00 |
And "return to menu" freezes for a few seconds then goes to a black screen and stops responding.
#71314 - Pinesal - Sat Feb 11, 2006 9:00 pm
Can you change your screenshot to an actual GBA game? I want to post this new on another board but if they see that shot then all I will get is "OMGZ! TeH PiRatezzz!"
#71323 - HyperHacker - Sat Feb 11, 2006 10:10 pm
Funny you say that, I was just thinking I should use a real game for the same reason. (And to avoid getting emails from people asking how I got it to play GB games. ;-))
Also, V1.01 is up. Just a minor bug fix; it no longer stalls for 20 seconds if you start with a GBAMP/M3/etc, swap carts, and start the game. (The delay was caused by it calling FAT_FreeFiles even if the card was no longer present. I've simply removed this call altogether when starting the game. This doesn't seem to cause any problems if you actually boot the GBAMP.)
#71330 - tepples - Sat Feb 11, 2006 10:34 pm
It appears to have been changed to the title screen of Mario Kart Super Circuit. But so that people don't get the idea that it comes with pirated Nintendo software, could you change it to use the screen of a well-known homebrew GBA game?
Another idea that would solve an issue that people have been asking for nearly since PassMe came out: Could you add support for common GBA flash carts' bankswitching? This would let one put both an NDS loader and GBA native games on the same cart.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#71336 - mntorankusu - Sat Feb 11, 2006 10:54 pm
HyperHacker wrote: |
Also, V1.01 is up. Just a minor bug fix; it no longer stalls for 20 seconds if you start with a GBAMP/M3/etc, swap carts, and start the game. (The delay was caused by it calling FAT_FreeFiles even if the card was no longer present. I've simply removed this call altogether when starting the game. This doesn't seem to cause any problems if you actually boot the GBAMP.) |
Nice, I was just about to post here complaining about that.
It would be cool if you could make some kind of way of inserting border images into the .NDS file, and make it automatically load the correct one for each game. For example, if I put in Kingdom Hearts: Chain of Memories and select Re-read Cartridge, it would automatically look for a border called KINGDOMHEART to use.
But anyway, this is really awesome. Thanks. :)
Edit: What's with the phpBB "you can't edit your post so soon after you make it" deal? It's not like I could spam by editing my own post.
#71339 - HyperHacker - Sat Feb 11, 2006 11:58 pm
Yeah, that's really annoying. Apparently its editing method is to delete the old post and create the new one, which triggers flood control. >_<
Dunno about embedding more images into the .nds (maybe using GBFS) but I like the idea of having a different border for each game. I'll probably add that for the next version.
Tepples: I can't imagine why people would assume it comes with pirated software. All that's in the zip is the program and a readme. Heck, they'll find out pretty quick if they actually try it. ;-) Using a homebrew game might just confuse people into thinking that it can load GBA multiboot or can't use real carts or other such things. A real, commercial cartridge demonstrates exactly what it does quite nicely.
Bankswitching I can probably do, but I don't have any flash carts to test with. I can't seem to find much info on how to actually do the switching; anyone know a good page? NDSTech has some nice info on how to write to them, but lacks bankswitch info for most. (Or I'm just blind.)
[edit] Doh, just realized the big flaw in loading borders based on the game title... once the game is inserted, the flash card isn't. ^_^; Guess I'll have to use GBFS or similar.
#71351 - tepples - Sun Feb 12, 2006 12:54 am
HyperHacker wrote: |
[edit] Doh, just realized the big flaw in loading borders based on the game title... once the game is inserted, the flash card isn't. ^_^; Guess I'll have to use GBFS or similar. |
Yup, you're going to have to load all the borders into main RAM before swapping. And don't forget to compress the blank space.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#71355 - HyperHacker - Sun Feb 12, 2006 1:20 am
I might just add support for RLE-encoded bitmaps, though few programs are actually aware of this. (Only Photoshop that I know of can create them.) Really, I'd much rather just have GIF/PNG/JPEG support, but I can't seem to find any code or explanations that aren't really complicated or have crazy licenses. (I do intend to release this program's source at some point, but being forced to do so for every program I use them in just won't do.)
Also I just tried adding a brightness adjustment option, but it gets reset back to normal when the game starts. :-(
#71400 - tepples - Sun Feb 12, 2006 4:06 pm
At least GIMP supports RLE BMP in 4-bit and 8-bit mode.
Libpng doesn't have a "crazy license". It uses the same permissive license as zlib.
Burton Radons has written a JPEG decoder for the GBA and put it in the public domain. Headspin has adapted it to the DS.
As for GIF, the Unisys patent on LZW data compression expired in Canada (the last relevant jurisdiction) in July 2004, and the gd and giflib projects reintroduced support for LZW GIF at about that time. What do you call a "crazy license" for purposes of this program? If the permissive license of X11 is not crazy, then try giflib.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#71437 - HyperHacker - Sun Feb 12, 2006 10:46 pm
Basically I just want to be able to use them in a commercial application and not be forced to release source code. It seems like most code I find, especially JPEG decoders (though I think the last time I looked was before Burton wrote his), has these restrictions and many more.
I'll check those out, thanks. Still working on fixing those graphic bugs; I suspect it may be a CPU synchronization problem. ARM9 is writing to main RAM while ARM7 is reading from some other part of it, and it seems like this may be blocking the writes even though they have priority. (And even if they didn't, shouldn't they just be delayed?)
#71469 - Darkflame - Mon Feb 13, 2006 1:43 am
How about colouring/pallete options?
#71474 - MrD - Mon Feb 13, 2006 2:10 am
Quote: |
It appears to have been changed to the title screen of Mario Kart Super Circuit. But so that people don't get the idea that it comes with pirated Nintendo software, could you change it to use the screen of a well-known homebrew GBA game? |
I suggest Another Tetanus on Star Fortress Yuck-Fu Snackminesweeper Arena Advance World.
_________________
Not active on this forum. For Lemmings DS help see its website.
#71476 - HyperHacker - Mon Feb 13, 2006 3:01 am
Darkflame wrote: |
How about colouring/pallete options? |
What would this do exactly?
#71482 - tepples - Mon Feb 13, 2006 4:07 am
Apparently, hue-rotating the RGB channels (through a matrix) would allow one border image to be drawn with a choice of colors.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.
#71509 - HyperHacker - Mon Feb 13, 2006 6:33 am
Eh, matrix math is a bit beyond my abilties at the moment, as I unfortunately discovered when playing with OpenGL. I'm not actually in college yet (and the high school here bites hard).
Besides, I just got RLE bitmaps working, so you can always just store different-coloured versions of the images. ;-)
#71534 - tssf - Mon Feb 13, 2006 9:05 am
HyperHacker wrote: |
Eh, matrix math is a bit beyond my abilties at the moment, as I unfortunately discovered when playing with OpenGL. I'm not actually in college yet (and the high school here bites hard).
Besides, I just got RLE bitmaps working, so you can always just store different-coloured versions of the images. ;-) |
Ah man, it would so freakin' rock if it were possible to change the palette in real time, having switches ala Final Fantasy configuration screens. :D It'd probably be impossible, but hey, it'd still rock :D
Oh, the thing doesn't run on my M3.. I'll try running it through the M3 game patcher thingy, but I dunno. usually homebrewn stuff just works. I did hear however that there was something about the M3 that won't run code if the memory to the 2D core wasn't reset? Perhaps I'm remembering inaccurately, but maybe that's it.
I'd look for the "loader" that someone posted to fix it, but i'm lazy right now. :)
_________________
Mathew Valente [TSSF]
------
Chrono Resurrection Musician
#71538 - HyperHacker - Mon Feb 13, 2006 9:21 am
Does it do anything at all on M3? I noticed people mention using "powerON(POWER_ALL)" at the beginning, but I did it a bit different (POWER_ALL_2D) hoping to save some battery power. (No need to have 3D hardware on for a GBA game.) I wonder if that just plain doesn't work, and it has to be POWER_ALL for some reason. (I know M3 messes with the touch screen too... I'm guessing poorly-coded firmware.)
#71565 - Delfioh - Mon Feb 13, 2006 2:11 pm
it seems that the program doesn't recognize the Supercard SD....
#71729 - HyperHacker - Tue Feb 14, 2006 3:34 am
I think you'll have to talk to chishm about that.
#71733 - tssf - Tue Feb 14, 2006 4:02 am
HyperHacker wrote: |
Does it do anything at all on M3? I noticed people mention using "powerON(POWER_ALL)" at the beginning, but I did it a bit different (POWER_ALL_2D) hoping to save some battery power. (No need to have 3D hardware on for a GBA game.) I wonder if that just plain doesn't work, and it has to be POWER_ALL for some reason. (I know M3 messes with the touch screen too... I'm guessing poorly-coded firmware.) |
When booted as a "game" it just hangs on black screens.
When booted as a "demo" it hangs on white screens.
_________________
Mathew Valente [TSSF]
------
Chrono Resurrection Musician
#131054 - viko - Sun Jun 10, 2007 5:49 pm
HyperHacker, your app sounds interesting, but the website http://hypernova.amarok-shadow.com/programs.php?id=bootgba is suspended. Is there any backup site. Or would you please repost the info on the forum?
#131094 - HyperHacker - Mon Jun 11, 2007 12:45 am
Unfortunately I don't have any other place to host it right now, but here's the info from the web page:
Quote: |
This is a program for your DS that allows you to configure several options of GBA Mode just before you start the game, without having to change your settings in the firmware. It requires PassMe, FlashMe, WifiMe or some other homebrew boot method to be used; see boot methods if you don't know what these are.
Things it can do:
- Choose which screen to run the game on right before starting the game (no having to open the options, change it, and reboot).
- Turn the backlight on or off before starting the game, without saving the change (so if you turn it off, it'll still be on next time you start up).
- Turn the sound amplifier off.
- Select from 5 built-in screen borders, or load one from your CF or SD card.
- Boot Gameshark Advance, which normally crashes on the DS. (Simply don't insert the GSA until the menu appears.)
- Start the game even if the DS does not detect it as a GBA game (eg for cartridges that are misread as Option Paks, or if you just want to stare at the Game Boy logo for some reason).
Version 1.01 removes the delay that occurrs when starting the game if you've swapped cartridges and the original cartridge had a CF or SD card. |
Mind the HTML and outdated info. I'm aware that this program is in severe need of an update, but I've also got 5689747 other things to do. :-/
[Markup Fairy was here]
_________________
I'm a PSP hacker now, but I still <3 DS.