Mario Kart Wii Flat code(again but with ASM)

Started by toonlink444, January 27, 2011, 09:53:21 PM

Previous topic - Next topic

Nutmeg

Set a "read" breakpoint with the "exact match" button checked.  After that, I can step you through my tutorial if you like.  ;)
I'm inbetween your legs... that's not awkward.

toonlink444

I tried read breakpoints but I'll try again.
In the begining there was nothing. Then it exploded
New blog!! Check it out for hacking Smash Bros Brawl!! http://letshackblank.blogspot.com/

Nutmeg

I'm inbetween your legs... that's not awkward.

toonlink444

In the begining there was nothing. Then it exploded
New blog!! Check it out for hacking Smash Bros Brawl!! http://letshackblank.blogspot.com/

Nutmeg

...

Are you sure that this is the only address that makes you flattened, then?  You may have found the "Y" coordinate of your character, not the address that contains whether you are flattened or not.
I'm inbetween your legs... that's not awkward.

toonlink444

If it's the Y-cordinate it would go up when I'm in the air. So yes it's the one.
In the begining there was nothing. Then it exploded
New blog!! Check it out for hacking Smash Bros Brawl!! http://letshackblank.blogspot.com/

Nutmeg

No, like the character height.  Like, the actual height of the car.  not how high in the air it is.

If you poke it to be a big float, do you become really tall?
I'm inbetween your legs... that's not awkward.

toonlink444

No. It's a float value you have to use, and the code I made freezes the game now. I figure that the address for being flat changes each time, yet the ASM stays the same :confused:
In the begining there was nothing. Then it exploded
New blog!! Check it out for hacking Smash Bros Brawl!! http://letshackblank.blogspot.com/

toonlink444

In the begining there was nothing. Then it exploded
New blog!! Check it out for hacking Smash Bros Brawl!! http://letshackblank.blogspot.com/

toonlink444

You're right Nutmeg. After looking closely at the break points it looks like it's loading a flat value, then the floats are counting when to pop back up. Not saying that it's flat.
In the begining there was nothing. Then it exploded
New blog!! Check it out for hacking Smash Bros Brawl!! http://letshackblank.blogspot.com/

toonlink444

#40
Here's the new breakpoint on 80E7FF48

Disassembler
[spoiler]80708424:  9421FFE0   stwu   r1,-32(r1)
80708428:  7C0802A6   mflr   r0
8070842C:  90010024   stw   r0,36(r1)
80708430:  93E1001C   stw   r31,28(r1)
80708434:  93C10018   stw   r30,24(r1)
80708438:  93A10014   stw   r29,20(r1)
8070843C:  7C7D1B78   mr   r29,r3
80708440:  93810010   stw   r28,16(r1)
80708444:  3F80809C   lis   r28,-32612
80708448:  807CDBB8   lwz   r3,-9288(r28)
8070844C:  480018B1   bl   0x80709cfc
80708450:  7C7E1B78   mr   r30,r3
80708454:  807CDBB8   lwz   r3,-9288(r28)
80708458:  48001831   bl   0x80709c88
8070845C:  7C7F1B78   mr   r31,r3
80708460:  807CDBB8   lwz   r3,-9288(r28)
80708464:  48001761   bl   0x80709bc4
80708468:  801D0010   lwz   r0,16(r29)
8070846C:  2C000000   cmpwi   r0,0
80708470:  41820010   beq-   0x80708480
80708474:  2C000001   cmpwi   r0,1
80708478:  4182007C   beq-   0x807084f4
8070847C:  480000EC   b   0x80708568
80708480:  2C1F0000   cmpwi   r31,0
80708484:  4182003C   beq-   0x807084c0
80708488:  2C1E0000   cmpwi   r30,0
8070848C:  41820028   beq-   0x807084b4
80708490:  881D0015   lbz   r0,21(r29)
80708494:  2C000000   cmpwi   r0,0
80708498:  41820010   beq-   0x807084a8
8070849C:  38000000   li   r0,0
807084A0:  901D0010   stw   r0,16(r29)
807084A4:  48000108   b   0x807085ac
807084A8:  38000001   li   r0,1
807084AC:  901D0010   stw   r0,16(r29)
807084B0:  480000FC   b   0x807085ac
807084B4:  38000001   li   r0,1
807084B8:  901D0010   stw   r0,16(r29)
807084BC:  480000F0   b   0x807085ac
807084C0:  2C1E0000   cmpwi   r30,0
807084C4:  41820010   beq-   0x807084d4
807084C8:  38000000   li   r0,0
807084CC:  901D0010   stw   r0,16(r29)
807084D0:  480000DC   b   0x807085ac
807084D4:  2C030000   cmpwi   r3,0
807084D8:  41820010   beq-   0x807084e8
807084DC:  38000002   li   r0,2
807084E0:  901D0010   stw   r0,16(r29)
807084E4:  480000C8   b   0x807085ac
807084E8:  38000003   li   r0,3
807084EC:  901D0010   stw   r0,16(r29)
807084F0:  480000BC   b   0x807085ac
807084F4:  2C1E0000   cmpwi   r30,0
807084F8:  4182003C   beq-   0x80708534
807084FC:  2C1F0000   cmpwi   r31,0
80708500:  41820028   beq-   0x80708528
80708504:  881D0014   lbz   r0,20(r29)
80708508:  2C000000   cmpwi   r0,0
8070850C:  41820010   beq-   0x8070851c
80708510:  38000001   li   r0,1
80708514:  901D0010   stw   r0,16(r29)
80708518:  48000094   b   0x807085ac
8070851C:  38000000   li   r0,0
80708520:  901D0010   stw   r0,16(r29)
80708524:  48000088   b   0x807085ac
80708528:  38000001   li   r0,1
8070852C:  901D0010   stw   r0,16(r29)
80708530:  4800007C   b   0x807085ac
80708534:  2C1F0000   cmpwi   r31,0
80708538:  41820010   beq-   0x80708548
8070853C:  38000001   li   r0,1
80708540:  901D0010   stw   r0,16(r29)
80708544:  48000068   b   0x807085ac
80708548:  2C030000   cmpwi   r3,0
8070854C:  41820010   beq-   0x8070855c
80708550:  38000002   li   r0,2
80708554:  901D0010   stw   r0,16(r29)
80708558:  48000054   b   0x807085ac
8070855C:  38000003   li   r0,3
80708560:  901D0010   stw   r0,16(r29)
80708564:  48000048   b   0x807085ac
80708568:  2C1E0000   cmpwi   r30,0
8070856C:  41820010   beq-   0x8070857c
80708570:  38000000   li   r0,0
80708574:  901D0010   stw   r0,16(r29)
80708578:  48000034   b   0x807085ac
8070857C:  2C1F0000   cmpwi   r31,0
80708580:  41820010   beq-   0x80708590
80708584:  38000001   li   r0,1
80708588:  901D0010   stw   r0,16(r29)
8070858C:  48000020   b   0x807085ac
80708590:  2C030000   cmpwi   r3,0
80708594:  41820010   beq-   0x807085a4
80708598:  38000002   li   r0,2
8070859C:  901D0010   stw   r0,16(r29)
807085A0:  4800000C   b   0x807085ac
807085A4:  38000003   li   r0,3
807085A8:  901D0010   stw   r0,16(r29)
807085AC:  9BDD0014   stb   r30,20(r29)
807085B0:  9BFD0015   stb   r31,21(r29)
807085B4:  987D0016   stb   r3,22(r29)
807085B8:  83E1001C   lwz   r31,28(r1)
807085BC:  83C10018   lwz   r30,24(r1)
807085C0:  83A10014   lwz   r29,20(r1)
807085C4:  83810010   lwz   r28,16(r1)
807085C8:  80010024   lwz   r0,36(r1)
807085CC:  7C0803A6   mtlr   r0
807085D0:  38210020   addi   r1,r1,32
807085D4:  4E800020   blr   [/spoiler]
And I did use copy function.
Registers
[spoiler]R:28000088  XER:20000000  CTR:00000000 DSIS:00400000
DAR:80E7FF48 SRR0:80708468 SRR1:0000B032   LR:80708468
  r0:00000000   r1:80394CC8   r2:8038AC20   r3:00000000
  r4:80EA9444   r5:80E7FDB8   r6:00000002   r7:80394744
  r8:00000000   r9:00000000  r10:00000000  r11:80394CC8
r12:800A8CC0  r13:80388880  r14:00000000  r15:00000000
r16:00000000  r17:00000000  r18:00000000  r19:00000000
r20:00000000  r21:8029FD00  r22:00000000  r23:808C0000
r24:00000000  r25:808C0000  r26:808C0000  r27:808C0000
r28:809C0000  r29:80E7FF38  r30:00000000  r31:00000000

  f0:00000000   f1:00000000   f2:3F800000   f3:00000000
  f4:00000000   f5:3F800000   f6:00000000   f7:00000000
  f8:A3F6A344   f9:BE911144  f10:BE911144  f11:3056021D
f12:40400000  f13:00000000  f14:00000000  f15:00000000
f16:00000000  f17:00000000  f18:00000000  f19:00000000
f20:00000000  f21:00000000  f22:00000000  f23:00000000
f24:00000000  f25:00000000  f26:00000000  f27:00000000
f28:00000000  f29:00000000  f30:00000000  f31:00000000[/spoiler]
There is my new info. I need to know what some of it is. Or if it's useless.
Edit: I used a Read/Write Breakpoint
In the begining there was nothing. Then it exploded
New blog!! Check it out for hacking Smash Bros Brawl!! http://letshackblank.blogspot.com/

Nutmeg

I'm inbetween your legs... that's not awkward.

dcx2

Look at the SRR0 register, it will tell you the current address.  In this case SRR0 = 80708468, so the breakpoint was probably 80708468:  801D0010   lwz   r0,16(r29)

EDIT: this is why it helps to make the line with the breakpoint bold when you paste a disassembly.  It saves us time when we help you.

DAR tells you the address a read or write breakpoint was meant to break on.  DAR = 80E7FF48.  So r29 + 0x10 should = DAR.  r29 = 80E7FF38, so that matches too.

You were working with floats before...but now you aren't.  What, exactly, is supposed to live at 80E7FF48?  How did you find it?

toonlink444

Well like i said a post before it looked like the floats were changing like a countdown then when it reached a certien point it will start to go big. This address is essintualy the same but after a while of searching it gave me: Greater than = 00000003, Less than = 00000002. It looked a bit like before and it acted the same so I did a breakpoint. And TaDa your results ;)
In the begining there was nothing. Then it exploded
New blog!! Check it out for hacking Smash Bros Brawl!! http://letshackblank.blogspot.com/

toonlink444

P.S Can you give me a link with all the wii ASM instructions and what they mean so I don't have to pester you guys?
In the begining there was nothing. Then it exploded
New blog!! Check it out for hacking Smash Bros Brawl!! http://letshackblank.blogspot.com/