Originally posted by MKSheppard
View Post
I used Gens Hacking version to find the RAM address, then Gens Tracer for the debug/assembly.
Here's a quick run down... I did a memory trace (write) on the RAM address and there was only one address that came up for every time the speed changed: [01:A62C] W16 = 002A [FF1240]
Looking at that address in the assembly trace log, I noticed that there was some code that compared the ships speed to a value of 06, and branched if greater than or equal to. I figured out that is for "minimum speed" (won't allow your ship to go below 06). To make the "Sail Faster" Game Genie codes above, I just inserted a Branch instruction from a spot before the game subtracts from your speed, and had it branch to the "Minimum Speed" value (so it will always go there), and the second code changes the minimum speed to whatever speed you want (I used values of 20 and 36 (hex) for my two codes ("faster" and "much faster"), but can use just about any values you want). I see you went crazy with some of your "Speed values". lol.
Here is what the assembly looks like (D0 is the ship's speed):
01:A614 4A 2D TST.B $1208(A5) A0=FFFFC9C0 A1=FFFF6923 A2=00000000 A3=FFFF121A A4=00FFFFDA A5=FFFF0000 A6=00FFFFDE A7=00FFFF7E D0=0000002A D1=54000083 D2=00000004 D3=00000025 D4=00000000 D5=00000000 D6=000048AF D7=00000002 xnzvc
01:A618 67 08 BEQ #$08 [01:A622] A0=FFFFC9C0 A1=FFFF6923 A2=00000000 A3=FFFF121A A4=00FFFFDA A5=FFFF0000 A6=00FFFFDE A7=00FFFF7E D0=0000002A D1=54000083 D2=00000004 D3=00000025 D4=00000000 D5=00000000 D6=000048AF D7=00000002 xnZvc
01:A622 0C 40 CMPI.W #$0006,D0 A0=FFFFC9C0 A1=FFFF6923 A2=00000000 A3=FFFF121A A4=00FFFFDA A5=FFFF0000 A6=00FFFFDE A7=00FFFF7E D0=0000002A D1=54000083 D2=00000004 D3=00000025 D4=00000000 D5=00000000 D6=000048AF D7=00000002 xnZvc
01:A626 6C 02 BGE #$02 [01:A62A] A0=FFFFC9C0 A1=FFFF6923 A2=00000000 A3=FFFF121A A4=00FFFFDA A5=FFFF0000 A6=00FFFFDE A7=00FFFF7E D0=0000002A D1=54000083 D2=00000004 D3=00000025 D4=00000000 D5=00000000 D6=000048AF D7=00000002 xnzvc
01:A62A 37 40 MOVE.w D0,$0026(A3) A0=FFFFC9C0 A1=FFFF6923 A2=00000000 A3=FFFF121A A4=00FFFFDA A5=FFFF0000 A6=00FFFFDE A7=00FFFF7E D0=0000002A D1=54000083 D2=00000004 D3=00000025 D4=00000000 D5=00000000 D6=000048AF D7=00000002 xnzvc
I changed 01:A614 to 6012 (Branch). It branches to 01:A628 which is the minimum speed value. I changed that address from 7006 to 70xx (xx = whatever minimum speed you want). Your ship can go faster than the minimum speed, but will never go slower.
Leave a comment: