My new code keeps freezing the game

Started by floppytripod, February 07, 2011, 02:44:21 AM

Previous topic - Next topic

floppytripod

286593E8 00000200
4A000000 90000000
1214B493 0000001B
E0000000 80008000

This code I made keeps freezing my game but I do not know why. I have done everything right I am sure of it. But it just keeps freezing no matter what I do.

Any suggestions would be very helpful.

dcx2

If you use po, you can set the full 32 bit address.  If you use ba, you must only use the upper 7 bits.  So you could do this with ba.

One thing that stands out...you're using a 12 code type, which is a 16-bit write.  Your address should be divisible by 2 (16 bits = 2 bytes), but this address is odd (ends in 3)

Are you sure 9014B493 is the right address for every level etc?

floppytripod

yeah thanks for the quick post.

I am sure it is the right address double and triple checked it.

So to use ba what would I need to do to the code?

dcx2

Use 10 code type instead, which is an 8-bit write.

floppytripod

#4
so instead the code would be this
206593E8 00000200
4A000000 90000000
1014B493 0000001B
E0000000 80008000

is that correct?

EDIT-Wow dcx2 you are awesome!! lol I can not believe I was that stupid lol. Thanks a bunch for the help. I finally got it to work.

dcx2

You got bit by alignment.  It's a tricky concept to explain.  Just make sure that all 32-bit addresses are divisible by 4 (ends with 0, 4, 8, or C), and all 16-bit addresses are divisible by 2 (0, 2, 4, 6, 8, A, C, E).  An 8-bit address can end with any hex digit.

Alignment also affects breakpoints.  A breakpoint that's not exact has double-word alignment, meaning it hits anywhere in the 8 bytes around the address you specify, either from 0-7 or 8-F.  An exact breakpoint on the other hand must result in exactly the same address.

As a rule of thumb, try exact first.  If that doesn't work, try non-exact.  If you ever use non-exact, always right-click Show Mem and double check the address it's giving you matches the address you wanted.

---

You can also do this for po

206593E8 00000200
4A000000 9014B493
10000000 0000001B
E0000000 80008000

floppytripod

Thanks for going out of your way to help me I appreciate it! :D