Hoo-hah. Here's another. I can't seem to make any GBA games sleep. I don't mean in the close the DS sense; I'm sure you recall that some GBA games included a sleep option in their menu. Anyway, I don't use it that often, so I haven't tested very extensively, but Yoshi's Island and bit Generations: Dialhex don't really sleep very well. The screen turns off for a tiny instant when you select sleep, and then it wakes up again immediately. Has anyone had success with GBA sleeping? I guess I'll do some more testing and let you know how I go.
List of games not working: bit Generations: Dialhex Dr. Mario/Puzzle League The Legend of Zelda: The Minish Cap Yoshi's Island: Super Mario Advance 3
List of games working: Puzzle League (let me explain: Dr. Mario/Puzzle League includes a small version of Puzzle League which you can send to another GBA with a link cable; it's this small version which sleeps fine, despite the parent game not sleeping)
I'm aware that GBATA can patch a sleep mode into any game, but I guess I'm just a perfectionist and would prefer to have the in-game sleep working if at all possible.
_________________ I've got nothing to say, but it's OK. Horizons on Fire
Last edited by Vague Rant on Thu Jun 12, 2008 8:29 am, edited 1 time in total.
Joined: Mon Apr 28, 2008 7:08 am Posts: 171 Location: Melbourne, Australia
OK, I just tried sleep-patching Yoshi's Island with Dwedit's tool, and it performs exactly the same as the in-game sleep; that is, the screen turns off for a tiny instant and I'm back where I started. Looks like the 3-in-1 is just not a fan of sleep mode.
EDIT: kuwanger has developed a version of dwedit's sleephack tool designed for the EZ-Flash IV, which apparently has the same hardware flaw as the 3-in-1 (why the hell hasn't it been fixed?), which from my testing works perfectly. I've entered and exited sleep mode just fine on my 3-in-1. If you want to try it, go here. We owe our thanks to dwedit, zg and kuwanger for giving us sleep mode on the 3-in-1.
It also includes a soft reset, intended for quitting to the EZ-Flash IV menu, but since we're not running EZ-IVs, it just resets the game. Not particularly useful, but not likely to harm anything, either. Shortcuts are L+R+Start to sleep, Select+Start to wake up, L+R+Select+Start to soft reset.
_________________ I've got nothing to say, but it's OK. Horizons on Fire
@Vague Rant: To fix Minish Cap, change offset 0x56284 from 0xc0 to 0x40. To fix Yoshi's Island, change offset 0xfb8e6 from 0xc0 to 0x40. Many games can be fixed with the same pattern.
1. Run an effected rom under Visualboyadvance 2. Put the game into sleep mode 3. Enter the debugger (F11 for the SDL version) and make sure it's disassembling in Thumb mode 4. Look maybe ~9 lines above the stopped position and you'll see something like this:
5. Convert the given address to a file offset (ie, 080fb8e6 becomes 0fb8e6 in this example) 6. Open a hexeditor and change the found offset from 0xc0 to 0x40, thereby disabling the gamepack interrupt
Now, all of the above isn't guaranteed. How and where the interrupt is set can vary. But, it's worked out pretty well for me so far.
Last edited by kuwanger on Fri Jun 19, 2009 12:24 pm, edited 2 times in total.
OK, I just tried sleep-patching Yoshi's Island with Dwedit's tool, and it performs exactly the same as the in-game sleep; that is, the screen turns off for a tiny instant and I'm back where I started. Looks like the 3-in-1 is just not a fan of sleep mode.
As you mentioned 3in1 in-game sleep ... How do I get it?? is it patched into the GBA ROM by the 3in1 tool (or ez4 client??) How do I activate it.
Are there any special hotkeys with the 3in1 in GBA mode?
Joined: Mon Apr 28, 2008 7:08 am Posts: 171 Location: Melbourne, Australia
Neat, tested the edits for YI and Minish Cap (was that offset for YI a typo, by the way? I changed 0xfb8e6 rather than 0xfb8e5) and they worked great. Not to be a bother, but do you have any tips for games which look more like this?
Joined: Mon Apr 28, 2008 7:08 am Posts: 171 Location: Melbourne, Australia
I've started a very crappy wiki article concerning sleep mode on EZ-Flash devices. Unfortunately, I have to go to bed now, but most of what I wanted to put in it is there for the moment. I will do some tweaking tomorrow, just wanted to let people know it's there.
_________________ I've got nothing to say, but it's OK. Horizons on Fire
Joined: Mon Apr 28, 2008 7:08 am Posts: 171 Location: Melbourne, Australia
Sorry for the double post, but I've now written up a few *.bats for use with kuwanger's hexalter tool (also attached below, I hope he doesn't mind). What this basically means is that you can put kuwanger's hexalter, your ROM (renamed to match the appropriate *.bat), and my *.bat into a folder, double click the *.bat, and have a patched ROM.
Supported games: Baldur's Gate - Dark Alliance (E) Baldur's Gate - Dark Alliance (U) Bit Generations Dial Hex (J) Dr. Mario & Puzzle League (E) (M5) Dr. Mario & Puzzle League (U) Drill Dozer (U) Legend of Zelda, The - A Link To The Past Four Swords (U) [!] Legend of Zelda, The - The Minish Cap (U) Mother 3 (J) Super Mario Advance 3 - Yoshi's Island (U) [!] Super Mario Advance 4 - Super Mario Bros. 3 (U) (V1.1)
Of course, I offer no guarantees that these will a) work; b) not ruin your ROM; c) anything else bad; so backup before you start messing with stuff.
By the way, if anybody wants to host these, feel free. I didn't want to have to zip them up, but the board refuses the *.bat extension. Funnily enough, the zip is about 2.5 times the size of the bats unzipped.
I will update if I bother to add any more games to the list.
Attachments:
File comment: kuwanger's hexalter tool. Fingers crossed he doesn't mind me attaching it. hexalter.zip [8.95 KiB]
Downloaded 104 times
File comment: All the *.bats (11 of them) in an unnecessarily large zip. sleephex.zip [2.45 KiB]
Downloaded 216 times
_________________ I've got nothing to say, but it's OK. Horizons on Fire
Joined: Mon Apr 28, 2008 7:08 am Posts: 171 Location: Melbourne, Australia
Hehe, sorry. This brings up a good point though, should there be credit for who found the offsets on the wiki or something? I feel weird just pasting other people's work all over the article (I've only found offsets for two games, IIRC), but I figure getting the information out there is the first priority, so I just stuck it in.
_________________ I've got nothing to say, but it's OK. Horizons on Fire
Users browsing this forum: Bing [Bot] and 0 guests
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum