terpsfan, the "Master" code for bonus stages was needed because those sneaky programmers did a partial checksum check in the middle of the game. They only checked the checksum from 0x0200 to 0xBFF8, so if you had a Game Genie code that modified an address after BFF8, it wouldn't have caused the game to freeze.
Here's how I found the code. I made another save state where I shot the ball into the bonus opening, but saved it a split second before the ball went into the opening that sends you to the bonus stage. I then made 2 asm trace logs, one with a code active, and one without a code active. I then opened up both logs side by side and started scrolling down until I found where they followed a different branch. Here's what it looked like...
00:8EA4 B0 91 CMP.L (A1),D0 A0=0000BFF8 A1=0000BFF8 A2=FFFFC7A8 A3=FFFFC9E8 A4=FFFFF6F8 A5=FFFFF6FA A6=FFFFB9A0 A7=FFFFFFF4 D0=00456276 D1=00000097 D2=000000F2 D3=0000BFF8 D4=00690000 D5=00000200 D6=00000000 D7=0000FFFF xnZvc
00:8EA6 66 00 BNE #$FFFF877A [00:1622]
It's comparing the value at ROM addresses BFF8 (register A1) to the value in register D0 (00456276). If they're not equal (BNE), then it branches to 00:1622. I forced it to always follow the opposite branch with the Game Genie code. If you look in the ROM at address BFF8, you'll see it matches the value in register D0. You can also verify this by highlighting all the bytes in the ROM (with a hex editor) from 0200 to BFF8 and then generate a 32 bit checksum value and you'll see that it matches.
Announcement
Collapse
No announcement yet.
New Game Genie, N64, GC, Wii, & PS2 Codes
Collapse
X
-
Dragon's Fury (USA, Europe)
ALHT-AA32 Master Code for Bonus Stages
Leave a comment:
-
Yes, the code works. I was able to get into every bonus game without the game freezing.
The American/European version of Devil Crash MD called Dragon's Fury also locks up after beating 3 or 4 bonus stages. I ported your code and I am testing it on the USA/Euro version right now.
Leave a comment:
-
Terpsfan, let me know if this "Master" code works for the 4th bonus stage. If it does, I'll explain how I found it.
Devil Crash (J)
ALHA-AA7G
Master code for the 4th bonus stage. Allows you to play the 4th bonus stage without the game freezing when Game Genie codes are active.Last edited by Tony H; 02-04-2015, 08:56:45 PM.
Leave a comment:
-
The first trace log where the bonus stage loads, no codes were enabled. For the second trace log where it doesn't load, I had the Infinite Balls game genie code enabled.
Here's a save state made with GensTracer with 4 of 6 special stages beaten. The next bonus stage you enter will freeze if you have any game genie codes enabled. You enter a bonus stage by hitting a ball into an obstacle designated by the yellow arrows. In the save state, it is the object on the top center of the screen.
The game is paused during the save state, and here are the controls:
A: Left Flipper
B: Right Flipper, Also launches ball (Hold B to charge and then release)
C: TiltAttached Files
Leave a comment:
-
terpsfan, I had to make 3 or 4 "master codes" for Thunder Force IV because it would freeze at a few different points throughout the game when codes were active. Will take a look at Devil Crash when I get home from work.
Also, can you attach a save state right before you enter the bonus stage (with no codes active). I'll look at your trace logs, but I might need the save state.Last edited by Tony H; 02-04-2015, 08:57:27 AM.
Leave a comment:
-
Tony, I tried following your advice here http://gamehacking.org/vb/threads/45...6213#post86213
Unfortunately, I don't know what I'm looking for in the trace logs. I've uploaded them here (if you want to look into it). One log is where the bonus stage loads successfully loads and the other log it doesn't load.Attached Files
Leave a comment:
-
Sonic & Knuckles or S&K with Sonic 3 attached (Genesis)
AANT-DS6T
Sonic Jumps Higher On His "Second" Jump When Using the Double Jump
TANT-DK6T
Sonic Jumps Much Higher On His "Second" Jump When Using the Double Jump
Leave a comment:
-
Unicode, about your huge list of requests. I would say that at least half of them are going to take waaaaayy too much time, and a shit load of codes. I'll look at the few remaining codes a little later.
Leave a comment:
-
One of those codes would require extensive hacking. And sandpolis act 2 is in Sonic 3K as well.
Leave a comment:
-
@Tony Hedstrom, since you're now on Sonic and Knuckles & Sonic 3, I have a requests for that game and Sonic and Knuckles as well:
- Pause the game and press A for Bubble Bounce, B for Water Shield, C for Electric Jump;
- Pause the game and to press on D-pad to get following power-ups: Down for an Electric Jump, Up for a Double Jump, Left for an Water Shield and Right for a Fire Shield (alternative variant of the one above);
- Never Drown. Existent Galoob's code works for all characters (Sonic / Tails / Knuckles) but you will still get the warning timer if you're stayed underwater for too long, and when timer runs out you won't die but a bug will occurs causing level music to stop playing completely;
- Pause the game and press: A button for Super Sonic / Tails / Knuckles, B for Invincibility Power-up, C button adding 10 Rings to your current Ring amount. Please make this usable together with previous requested code above using D-pad keys;
- Pause the game and press following keys to change your current character during playing to: A button change to Sonic and Tails / B button to change to Sonic alone / C button to change to Tails alone;
- Tails' birds helpers roaming around him (not Tails himself) while he is Super Tails (Sonic and Knuckles & Sonic 3 only) hit enemies / bosses from anywhere;
- Doors doesn't close after Sonic / (Tails) / Knuckles passed through them;
- Timer Runs double speed / half speed / quarter speed;
- Always get Perfect Time bonus;
- Also, with your Debug Mode GG code for Sonic and Knuckles & Sonic 3 I'm getting a strange issue every time I'm playing with it active! On Marble Zone Act 1, if I enter Debug mode in beginning of the level and move my character up to top of level while he is in object placement, an weird glitch will occurs - screen starting automatically moving down fast! And that movement can't be stopped via pressing anything on D-pad, you have to wait that quick autoscroll down to stop itself! I getting this on GenRerecording 11a emulator happening with any character, mostly with Tails while he is Super form. Please fix that bug;
- Fixed version of "Knuckles travels with Tails!" code made by Chemist. In Sonic and Knuckles & Sonic 3, if you have that code active and enter with Knuckles (and Tails following him) bonus stage with the blue / red spheres, the game will not continue (game appears to crash with a black screen immediately upon entering it);
- Knuckles / Sonic / Tails doesn't die when get crushed between two solid things;
- Infinite Lights time in Sandopolis Zone Act 2 - I meant the lights doesn't decrease and then turn off which makes horror ghosts to appear and Attack Sonic / Tails (Sonic and Knuckles & Sonic 3 only) / Knuckles while there is a darkness in the level. There are a handles thought the Sandopolis Zone Act 2 level, and if there is a less light or level is dark and ghosts attacking you, and you jump into any handle, it will temporary turn light back to full and make ghosts to instantly dissappear.
Thanks in Advance, dear @Tony Hedstrom!Last edited by Unicode; 02-02-2015, 06:36:04 AM.
Leave a comment:
-
Sonic & Knuckles or S&K with Sonic 3 attached (Genesis)
N2NT-CA24
Sonic can always double jump. Works even if you have other shields, are Super or Hyper Sonic, or have invincibility.
RENT-C6YA
Sonic can double jump. May not work if you have the Fire Shield, are Super or Hyper Sonic, or have invincibility. You will get whatever is normal for these power-ups when you try to double jump.
=======
Note: will add "jump much higher on second jump" codes shortly.
Leave a comment:
-
Branching 800 bytes is exactly what Mez's code does. The 6700 at ROM address 0458 will branch 800 bytes if the value at ROM address 018E is EQUAL to the value in register D0. As you know, the value at ROM address 018E is the checksum value. Changing the 6700 to 6000 instead causes the game to ALWAYS follow the correct branch, even if the two values aren't equal.
My guess is that you will need a second master code. The best way to do it is to make a save state right before you start the 4th stage, then make an assembly trace log right as you are getting to the part where the game freezes. See if you can figure out the master code for that part. If not, just make a second assembly trace log with no codes active so the games loads the 4th stage correctly, then compare the two assembly logs to find where they take different paths.Last edited by Tony H; 02-01-2015, 12:50:28 AM.
Leave a comment:
-
Tony, I need help finding a better Master Code for Devil Crash MD (Japan).
000458:6000 Master Code
002B4C:4E71 Infinite balls
The above Master Code found by Mezmorize works until I beat 3 of the 6 bonus stages. After I beat 3 bonus stages, the game freezes when I try to enter the 4th bonus stage. I've isolated the problem to the Master Code, because I've disabled the Infinite Balls code and the game still locks up with only the Master Code enabled.
I've tried following your instructions here:
http://www.angelfire.com/games2/code...asterCodes.txt
Following your guide, do I need to branch 800 bytes at rom address 000458? I know how to branch 2, 4, 6 bytes, etc…, but how do you branch 800 bytes?
00:0454 B0 78 CMP.W ($018E),D0 A0=00080000 A1=FFFFF02E A2=00000000 A3=00000000 A4=00000000 A5=00000000 A6=00000000 A7=00000000 D0=0000D7ED D1=00000000 D2=0000FFFF D3=00000000 D4=00000000 D5=00000000 D6=00000000 D7=0000FFFF xNzvc
00:0458 67 00 BEQ #$0800 [00:0C5A] A0=00080000 A1=FFFFF02E A2=00000000 A3=00000000 A4=00000000 A5=00000000 A6=00000000 A7=00000000 D0=0000D7ED D1=00000000 D2=0000FFFF D3=00000000 D4=00000000 D5=00000000 D6=00000000 D7=0000FFFF xnZvc
00:0C5A 70 00 MOVEQ #$00,D0 A0=00080000 A1=FFFFF02E A2=00000000 A3=00000000 A4=00000000 A5=00000000 A6=00000000 A7=00000000 D0=0000D7ED D1=00000000 D2=0000FFFF D3=00000000 D4=00000000 D5=00000000 D6=00000000 D7=0000FFFF xnZvc
00:0C5C 4E B9 JSR ($000097B4) A0=00080000 A1=FFFFF02E A2=00000000 A3=00000000 A4=00000000 A5=00000000 A6=00000000 A7=00000000 D0=00000000 D1=00000000 D2=0000FFFF D3=00000000 D4=00000000 D5=00000000 D6=00000000 D7=0000FFFF xnZvc
00:97B4 61 00 BSR #$00FE [00:98B4] A0=00080000 A1=FFFFF02E A2=00000000 A3=00000000 A4=00000000 A5=00000000 A6=00000000 A7=FFFFFFFC D0=00000000 D1=00000000 D2=0000FFFF D3=00000000 D4=00000000 D5=00000000 D6=00000000 D7=0000FFFF xnZvc
00:98B4 4E 71 NOP A0=00080000 A1=FFFFF02E A2=00000000 A3=00000000 A4=00000000 A5=00000000 A6=00000000 A7=FFFFFFF8 D0=00000000 D1=00000000 D2=0000FFFF D3=00000000 D4=00000000 D5=00000000 D6=00000000 D7=0000FFFF xnZvc
00:98B6 33 FC MOVE.w #$0100,($00A11100) A0=00080000 A1=FFFFF02E A2=00000000 A3=00000000 A4=00000000 A5=00000000 A6=00000000 A7=FFFFFFF8 D0=00000000 D1=00000000 D2=0000FFFF D3=00000000 D4=00000000 D5=00000000 D6=00000000 D7=0000FFFF xnZvc
00:98BE 08 39 BTST #0,($00A11100) A0=00080000 A1=FFFFF02E A2=00000000 A3=00000000 A4=00000000 A5=00000000 A6=00000000 A7=FFFFFFF8 D0=00000000 D1=00000000 D2=0000FFFF D3=00000000 D4=00000000 D5=00000000 D6=00000000 D7=0000FFFF xnzvc
00:98C6 66 F6 BNE #$F6 [00:98BE] A0=00080000 A1=FFFFF02E A2=00000000 A3=00000000 A4=00000000 A5=00000000 A6=00000000 A7=FFFFFFF8 D0=00000000 D1=00000000 D2=0000FFFF D3=00000000 D4=00000000 D5=00000000 D6=00000000 D7=0000FFFF xnZvc
00:98C8 4A 39 TST.B ($00A00003) A0=00080000 A1=FFFFF02E A2=00000000 A3=00000000 A4=00000000 A5=00000000 A6=00000000 A7=FFFFFFF8 D0=00000000 D1=00000000 D2=0000FFFF D3=00000000 D4=00000000 D5=00000000 D6=00000000 D7=0000FFFF xnZvc
00:98CE 67 12 BEQ #$12 [00:98E2] A0=00080000 A1=FFFFF02E A2=00000000 A3=00000000 A4=00000000 A5=00000000 A6=00000000 A7=FFFFFFF8 D0=00000000 D1=00000000 D2=0000FFFF D3=00000000 D4=00000000 D5=00000000 D6=00000000 D7=0000FFFF xnZvc
00:98E2 4E 75 RTS A0=00080000 A1=FFFFF02E A2=00000000 A3=00000000 A4=00000000 A5=00000000 A6=00000000 A7=FFFFFFF8 D0=00000000 D1=00000000 D2=0000FFFF D3=00000000 D4=00000000 D5=00000000 D6=00000000 D7=0000FFFF xnZvcLast edited by terpsfan101; 01-31-2015, 11:31:31 PM.
Leave a comment:
Leave a comment: