Moon Jump code guidance required
BP for Y axis
[spoiler]80632D76[/spoiler]
Registers
[spoiler]CR : 44200422 XER : 00000000 CTR : 801FE880 DSIS: 00400000
DAR : 80632D70 SRR0: 800D7C9C SRR1: 0000B032 LR : 800D7AD4
r0 : FFFFFFFF r1 : 80632BC8 r2 : 80627080 r3 : 000102D8
r4 : 00000010 r5 : 00000004 r6 : 00000014 r7 : 00000008
r8 : 00000005 r9 : 80632BD2 r10 : 805A9630 r11 : 00000000
r12 : FFFFFFFF r13 : 80625580 r14 : 00000000 r15 : 00000000
r16 : 00000000 r17 : 00000000 r18 : 0000000C r19 : 8121F008
r20 : 00000000 r21 : 00000000 r22 : 00000001 r23 : 00000000
r24 : 80632D60 r25 : 805A9630 r26 : 00000000 r27 : 00000003
r28 : 0000600C r29 : 81225014 r30 : 8121F008 r31 : 81225016
f0 : C1222F3D f1 : C124CCCD f2 : C124CCCD f3 : C194A3D7
f4 : BF400000 f5 : C13B3333 f6 : 00000000 f7 : C14AAD1B
f8 : BF9C15B8 f9 : C19A5D2F f10 : C11CD5E3 f11 : 3FC53E17
f12 : 3FF96088 f13 : C1A9F338 f14 : 00000000 f15 : 00000000
f16 : 00000000 f17 : 00000000 f18 : 00000000 f19 : 00000000
f20 : 00000000 f21 : 00000000 f22 : 00000000 f23 : 00000000
f24 : 00000000 f25 : 3FB33330 f26 : 3FB33333 f27 : 3F7D6D52
f28 : 3FFD6D52 f29 : 3F333333 f30 : 00000000 f31 : 3F800000
[/spoiler]
[spoiler]800D79CC: 4E800020 blr
800D79D0: 9421FFB0 stwu r1,-80(r1)
800D79D4: 7C0802A6 mflr r0
800D79D8: 90010054 stw r0,84(r1)
800D79DC: 39610050 addi r11,r1,80
800D79E0: 4839E3B1 bl 0x80475d90
800D79E4: 1D642004 mulli r11,r4,8196
800D79E8: 3980FFFF li r12,-1
800D79EC: 7CB52B78 mr r21,r5
800D79F0: B181000A sth r12,10(r1)
800D79F4: 54A0083C rlwinm r0,r5,1,0,30
800D79F8: 7FC35A14 add r30,r3,r11
800D79FC: B1810008 sth r12,8(r1)
800D7A00: 7C731B78 mr r19,r3
800D7A04: 7C942378 mr r20,r4
800D7A08: 7CDA3378 mr r26,r6
800D7A0C: 7CF63B78 mr r22,r7
800D7A10: 7D174378 mr r23,r8
800D7A14: 7D384B78 mr r24,r9
800D7A18: 7D595378 mr r25,r10
800D7A1C: 7EBCAB78 mr r28,r21
800D7A20: 7FFE0214 add r31,r30,r0
800D7A24: 48000060 b 0x800d7a84
800D7A28: 3C7F0003 addis r3,r31,3
800D7A2C: 3A400000 li r18,0
800D7A30: AB63C000 lha r27,-16384(r3)
800D7A34: 1C1B002C mulli r0,r27,44
800D7A38: 7C93002E lwzx r4,r19,r0
800D7A3C: 80040038 lwz r0,56(r4)
800D7A40: 540017BF rlwinm. r0,r0,2,30,31
800D7A44: 4082001C bne- 0x800d7a60
800D7A48: 7F23CB78 mr r3,r25
800D7A4C: 38840088 addi r4,r4,136
800D7A50: 48280A91 bl 0x803584e0
800D7A54: 2C030000 cmpwi r3,0
800D7A58: 41820008 beq- 0x800d7a60
800D7A5C: 3A400001 li r18,1
800D7A60: 2C120000 cmpwi r18,0
800D7A64: 41820018 beq- 0x800d7a7c
800D7A68: 7E639B78 mr r3,r19
800D7A6C: 7F64DB78 mr r4,r27
800D7A70: 38A1000A addi r5,r1,10
800D7A74: 38C10008 addi r6,r1,8
800D7A78: 4BFFFF09 bl 0x800d7980
800D7A7C: 3BFF0002 addi r31,r31,2
800D7A80: 3B9C0001 addi r28,r28,1
800D7A84: 7F800734 extsh r0,r28
800D7A88: 7C00D000 cmpw r0,r26
800D7A8C: 4081FF9C ble+ 0x800d7a28
800D7A90: 3B740003 addi r27,r20,3
800D7A94: 56C0083C rlwinm r0,r22,1,0,30
800D7A98: 1F9B2004 mulli r28,r27,8196
800D7A9C: 7FB3E214 add r29,r19,r28
800D7AA0: 7FFD0214 add r31,r29,r0
800D7AA4: 48000060 b 0x800d7b04
800D7AA8: 3C7F0003 addis r3,r31,3
800D7AAC: 3A400000 li r18,0
800D7AB0: AB43C000 lha r26,-16384(r3)
800D7AB4: 1C1A002C mulli r0,r26,44
800D7AB8: 7C93002E lwzx r4,r19,r0
800D7ABC: 80040038 lwz r0,56(r4)
800D7AC0: 540017BF rlwinm. r0,r0,2,30,31
800D7AC4: 4082001C bne- 0x800d7ae0
800D7AC8: 7F23CB78 mr r3,r25
800D7ACC: 38840088 addi r4,r4,136
800D7AD0: 48280A11 bl 0x803584e0
800D7AD4: 2C030000 cmpwi r3,0
800D7AD8: 41820008 beq- 0x800d7ae0
800D7ADC: 3A400001 li r18,1
800D7AE0: 2C120000 cmpwi r18,0
800D7AE4: 41820018 beq- 0x800d7afc
800D7AE8: 7E639B78 mr r3,r19
800D7AEC: 7F44D378 mr r4,r26
800D7AF0: 38A1000A addi r5,r1,10
800D7AF4: 38C10008 addi r6,r1,8
800D7AF8: 4BFFFE89 bl 0x800d7980
800D7AFC: 3BFF0002 addi r31,r31,2
800D7B00: 3AD60001 addi r22,r22,1
800D7B04: 7EC00734 extsh r0,r22
800D7B08: 7C00B800 cmpw r0,r23
800D7B0C: 4081FF9C ble+ 0x800d7aa8
800D7B10: 3C130003 addis r0,r19,3
800D7B14: 7C60E214 add r3,r0,r28
800D7B18: 8003E000 lwz r0,-8192(r3)
800D7B1C: 7C170050 sub r0,r0,r23
800D7B20: 7C150000 cmpw r21,r0
800D7B24: 40800094 bge- 0x800d7bb8
800D7B28: 5772103A rlwinm r18,r27,2,0,29
800D7B2C: 3B400000 li r26,0
800D7B30: 48000078 b 0x800d7ba8
800D7B34: 3C7E0003 addis r3,r30,3
800D7B38: 3AC00000 li r22,0
800D7B3C: AB63C000 lha r27,-16384(r3)
800D7B40: 1EFB002C mulli r23,r27,44
800D7B44: 7C93B82E lwzx r4,r19,r23
800D7B48: 80040038 lwz r0,56(r4)
800D7B50: 4082001C bne- 0x800d7b6c
800D7B54: 7F23CB78 mr r3,r25
800D7B58: 38840088 addi r4,r4,136
800D7B5C: 48280985 bl 0x803584e0
800D7B60: 2C030000 cmpwi r3,0
800D7B64: 41820008 beq- 0x800d7b6c
800D7B68: 3AC00001 li r22,1
800D7B6C: 2C160000 cmpwi r22,0
800D7B70: 41820030 beq- 0x800d7ba0
800D7B74: 7C13BA14 add r0,r19,r23
800D7B78: 7C18942E lfsx f0,r24,r18
800D7B7C: 7C609214 add r3,r0,r18
800D7B80: C0230004 lfs f1,4(r3)
800D7B84: FC010040 fcmpo cr0,f1,f0
800D7B88: 40810018 ble- 0x800d7ba0
800D7B8C: 7E639B78 mr r3,r19
800D7B90: 7F64DB78 mr r4,r27
800D7B94: 38A1000A addi r5,r1,10
800D7B98: 38C10008 addi r6,r1,8
800D7B9C: 4BFFFDE5 bl 0x800d7980
800D7BA0: 3BDE0002 addi r30,r30,2
800D7BA4: 3B5A0001 addi r26,r26,1
800D7BA8: 7F400734 extsh r0,r26
800D7BAC: 7C00A800 cmpw r0,r21
800D7BB0: 4180FF84 blt+ 0x800d7b34
800D7BB4: 480000A0 b 0x800d7c54
800D7BB8: 56E0083C rlwinm r0,r23,1,0,30
800D7BBC: 3C7C0003 addis r3,r28,3
800D7BC0: 569F103A rlwinm r31,r20,2,0,29
800D7BC4: 7E5D0214 add r18,r29,r0
800D7BC8: 3AC3E000 subi r22,r3,8192
800D7BCC: 48000078 b 0x800d7c44
800D7BD0: 3C720003 addis r3,r18,3
800D7BD4: 3AA00000 li r21,0
800D7BD8: AB63C000 lha r27,-16384(r3)
800D7BDC: 1F5B002C mulli r26,r27,44
800D7BE0: 7C93D02E lwzx r4,r19,r26
800D7BE4: 80040038 lwz r0,56(r4)
800D7BE8: 540017BF rlwinm. r0,r0,2,30,31
800D7BEC: 4082001C bne- 0x800d7c08
800D7BF0: 7F23CB78 mr r3,r25
800D7BF4: 38840088 addi r4,r4,136
800D7BF8: 482808E9 bl 0x803584e0
800D7BFC: 2C030000 cmpwi r3,0
800D7C00: 41820008 beq- 0x800d7c08
800D7C04: 3AA00001 li r21,1
800D7C08: 2C150000 cmpwi r21,0
800D7C0C: 41820030 beq- 0x800d7c3c
800D7C10: 7C13D214 add r0,r19,r26
800D7C14: 7C18FC2E lfsx f0,r24,r31
800D7C18: 7C60FA14 add r3,r0,r31
800D7C1C: C0230004 lfs f1,4(r3)
800D7C20: FC010040 fcmpo cr0,f1,f0
800D7C24: 40800018 bge- 0x800d7c3c
800D7C28: 7E639B78 mr r3,r19
800D7C2C: 7F64DB78 mr r4,r27
800D7C30: 38A1000A addi r5,r1,10
800D7C34: 38C10008 addi r6,r1,8
800D7C38: 4BFFFD49 bl 0x800d7980
800D7C3C: 3A520002 addi r18,r18,2
800D7C40: 3AF70001 addi r23,r23,1
800D7C44: 7C13B02E lwzx r0,r19,r22
800D7C48: 7EE30734 extsh r3,r23
800D7C4C: 7C030000 cmpw r3,r0
800D7C50: 4180FF80 blt+ 0x800d7bd0
800D7C54: 3C808054 lis r4,-32684
800D7C58: 3C608054 lis r3,-32684
800D7C5C: 5685103A rlwinm r5,r20,2,0,29
800D7C60: 3921000A addi r9,r1,10
800D7C64: 38845ED0 addi r4,r4,24272
800D7C68: 38635EDC addi r3,r3,24284
800D7C6C: 7C63282E lwzx r3,r3,r5
800D7C70: 3800FFFF li r0,-1
800D7C74: 7C84282E lwzx r4,r4,r5
800D7C78: 39030003 addi r8,r3,3
800D7C7C: 5467103A rlwinm r7,r3,2,0,29
800D7C80: 38C40003 addi r6,r4,3
800D7C84: 5485103A rlwinm r5,r4,2,0,29
800D7C88: 54C4103A rlwinm r4,r6,2,0,29
800D7C8C: 5506103A rlwinm r6,r8,2,0,29
800D7C94: 60000000 nop
800D7C98: 1C63002C mulli r3,r3,44
800D7C9C: 7C18242E lfsx f0,r24,r4 breaks here
800D7CA0: 7D131A14 add r8,r19,r3
800D7CA4: 7C682A14 add r3,r8,r5
800D7CA8: C0230004 lfs f1,4(r3)
800D7CAC: FC010040 fcmpo cr0,f1,f0
800D7CB0: 41810040 bgt- 0x800d7cf0
800D7CB4: 7C682214 add r3,r8,r4
800D7CB8: 7C182C2E lfsx f0,r24,r5
800D7CBC: C0230004 lfs f1,4(r3)
800D7CC0: FC010040 fcmpo cr0,f1,f0
800D7CC4: 4180002C blt- 0x800d7cf0
800D7CC8: 7C683A14 add r3,r8,r7
800D7CCC: 7C18342E lfsx f0,r24,r6
800D7CD0: C0230004 lfs f1,4(r3)
800D7CD4: FC010040 fcmpo cr0,f1,f0
800D7CD8: 41810018 bgt- 0x800d7cf0
800D7CDC: 7C683214 add r3,r8,r6
800D7CE0: 7C183C2E lfsx f0,r24,r7
800D7CE4: C0230004 lfs f1,4(r3)
800D7CE8: FC010040 fcmpo cr0,f1,f0
800D7CEC: 40800014 bge- 0x800d7d00
800D7CF0: A8680028 lha r3,40(r8)
800D7CF4: B0690000 sth r3,0(r9)
800D7CF8: B0080028 sth r0,40(r8)
800D7CFC: 48000008 b 0x800d7d04
800D7D00: 39280028 addi r9,r8,40
800D7D04: A8690000 lha r3,0(r9)
800D7D08: 2C03FFFF cmpwi r3,-1
800D7D0C: 4082FF8C bne+ 0x800d7c98
800D7D10: 39610050 addi r11,r1,80
800D7D14: A861000A lha r3,10(r1)
800D7D18: 4839E0C5 bl 0x80475ddc
800D7D1C: 80010054 lwz r0,84(r1)
800D7D20: 7C0803A6 mtlr r0
800D7D24: 38210050 addi r1,r1,80
800D7D28: 4E800020 blr
800D7D2C: 00000000 .word 0x00000000
800D7D30: 9421FFD0 stwu r1,-48(r1)
800D7D34: 7C0802A6 mflr r0
800D7D38: 90010034 stw r0,52(r1)
800D7D3C: 39610030 addi r11,r1,48
800D7D40: 4839E069 bl 0x80475da8
800D7D44: 3CE30003 addis r7,r3,3
800D7D48: 7C791B78 mr r25,r3
800D7D4C: 8007E000 lwz r0,-8192(r7)
800D7D50: 7C9A2378 mr r26,r4
[/spoiler]
Step
[spoiler]CR : 44200888 XER : 00000000 CTR : 802049F0 DSIS: 04000000
DAR : 11109620 SRR0: 804B6AC8 SRR1: 00001030 LR : 8027CF8C
r0 : 00000018 r1 : 806328A0 r2 : 80627080 r3 : 05000090
r4 : 80585178 r5 : 804B6B50 r6 : 08000000 r7 : 00400000
r8 : 00020000 r9 : 08000000 r10 : FFFFFFFF r11 : FFFFFF00
r12 : 00400000 r13 : 11110000 r14 : 00000000 r15 : 00000000
r16 : 00000000 r17 : 00000000 r18 : 00000000 r19 : 00000000
r20 : 00000000 r21 : 00000000 r22 : 00000000 r23 : 80633C78
r24 : 80616C68 r25 : 81082780 r26 : 81231000 r27 : 806329C4
r28 : 80632B30 r29 : 00000018 r30 : 805CD038 r31 : 00004140
f0 : 3F800009 f1 : 00000000 f2 : 4110ADAA f3 : BF800000
f4 : 00000000 f5 : 00000000 f6 : 3F800009 f7 : 3F800009
f8 : 00000000 f9 : 00000000 f10 : 4110B1C3 f11 : 00000000
f12 : 00000000 f13 : 3F7FFFFF 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 : 3C888889 f31 : 3F32F1A0
[/spoiler]
[spoiler]804B68A0: 9421FFE0 stwu r1,-32(r1)
804B68A4: 7C0802A6 mflr r0
804B68A8: 3C60CC00 lis r3,-13312
804B68AC: 90010024 stw r0,36(r1)
804B68B0: 93E1001C stw r31,28(r1)
804B68B4: 93C10018 stw r30,24(r1)
804B68B8: 7C9E2378 mr r30,r4
804B68BC: 93A10014 stw r29,20(r1)
804B68C0: 83E33000 lwz r31,12288(r3)
804B68C4: 80033004 lwz r0,12292(r3)
804B68C8: 57FF041D rlwinm. r31,r31,0,16,14
804B68CC: 4182000C beq- 0x804b68d8
804B68D0: 7FE00039 and. r0,r31,r0
804B68D4: 4082000C bne- 0x804b68e0
804B68D8: 7FC3F378 mr r3,r30
804B68DC: 4BFFBDD5 bl 0x804b26b0
804B68E0: 57E00631 rlwinm. r0,r31,0,24,24
804B68E4: 38000000 li r0,0
804B68E8: 41820048 beq- 0x804b6930
804B68EC: 3C60CC00 lis r3,-13312
804B68F0: A083401E lhz r4,16414(r3)
804B68F4: 548307FF rlwinm. r3,r4,0,31,31
804B68F8: 41820008 beq- 0x804b6900
804B68FC: 64008000 oris r0,r0,32768
804B6900: 548307BD rlwinm. r3,r4,0,30,30
804B6904: 41820008 beq- 0x804b690c
804B6908: 64004000 oris r0,r0,16384
804B690C: 5483077B rlwinm. r3,r4,0,29,29
804B6910: 41820008 beq- 0x804b6918
804B6914: 64002000 oris r0,r0,8192
804B6918: 54830739 rlwinm. r3,r4,0,28,28
804B691C: 41820008 beq- 0x804b6924
804B6920: 64001000 oris r0,r0,4096
804B6924: 548306F7 rlwinm. r3,r4,0,27,27
804B6928: 41820008 beq- 0x804b6930
804B692C: 64000800 oris r0,r0,2048
804B6930: 57E30673 rlwinm. r3,r31,0,25,25
804B6934: 41820030 beq- 0x804b6964
804B6938: 3C60CC00 lis r3,-13312
804B693C: A083500A lhz r4,20490(r3)
804B6940: 54830739 rlwinm. r3,r4,0,28,28
804B6944: 41820008 beq- 0x804b694c
804B6948: 64000400 oris r0,r0,1024
804B694C: 548306B5 rlwinm. r3,r4,0,26,26
804B6950: 41820008 beq- 0x804b6958
804B6954: 64000200 oris r0,r0,512
804B6958: 54830631 rlwinm. r3,r4,0,24,24
804B695C: 41820008 beq- 0x804b6964
804B6964: 57E306B5 rlwinm. r3,r31,0,26,26
804B6968: 41820018 beq- 0x804b6980
804B696C: 3C60CD00 lis r3,-13056
804B6970: 80636C00 lwz r3,27648(r3)
804B6974: 54630739 rlwinm. r3,r3,0,28,28
804B6978: 41820008 beq- 0x804b6980
804B697C: 64000080 oris r0,r0,128
804B6980: 57E306F7 rlwinm. r3,r31,0,27,27
804B6984: 4182007C beq- 0x804b6a00
804B6988: 3C60CD00 lis r3,-13056
804B698C: 80836800 lwz r4,26624(r3)
804B6990: 548307BD rlwinm. r3,r4,0,30,30
804B6994: 41820008 beq- 0x804b699c
804B6998: 64000040 oris r0,r0,64
804B699C: 54830739 rlwinm. r3,r4,0,28,28
804B69A0: 41820008 beq- 0x804b69a8
804B69A4: 64000020 oris r0,r0,32
804B69A8: 54830529 rlwinm. r3,r4,0,20,20
804B69AC: 41820008 beq- 0x804b69b4
804B69B0: 64000010 oris r0,r0,16
804B69B4: 3C60CD00 lis r3,-13056
804B69B8: 80836814 lwz r4,26644(r3)
804B69BC: 548307BD rlwinm. r3,r4,0,30,30
804B69C0: 41820008 beq- 0x804b69c8
804B69C4: 64000008 oris r0,r0,8
804B69C8: 54830739 rlwinm. r3,r4,0,28,28
804B69CC: 41820008 beq- 0x804b69d4
804B69D0: 64000004 oris r0,r0,4
804B69D4: 54830529 rlwinm. r3,r4,0,20,20
804B69D8: 41820008 beq- 0x804b69e0
804B69DC: 64000002 oris r0,r0,2
804B69E0: 3C60CD00 lis r3,-13056
804B69E4: 80836828 lwz r4,26664(r3)
804B69E8: 548307BD rlwinm. r3,r4,0,30,30
804B69EC: 41820008 beq- 0x804b69f4
804B69F0: 64000001 oris r0,r0,1
804B69F4: 54830739 rlwinm. r3,r4,0,28,28
804B69F8: 41820008 beq- 0x804b6a00
804B69FC: 60008000 ori r0,r0,32768
804B6A00: 57E304A5 rlwinm. r3,r31,0,18,18
804B6A04: 41820008 beq- 0x804b6a0c
804B6A08: 60000020 ori r0,r0,32
804B6A0C: 57E304E7 rlwinm. r3,r31,0,19,19
804B6A10: 41820008 beq- 0x804b6a18
804B6A14: 60000040 ori r0,r0,64
804B6A18: 57E3056B rlwinm. r3,r31,0,21,21
804B6A1C: 41820008 beq- 0x804b6a24
804B6A20: 60001000 ori r0,r0,4096
804B6A24: 57E305AD rlwinm. r3,r31,0,22,22
804B6A28: 41820008 beq- 0x804b6a30
804B6A2C: 60002000 ori r0,r0,8192
804B6A30: 57E305EF rlwinm. r3,r31,0,23,23
804B6A34: 41820008 beq- 0x804b6a3c
804B6A38: 60000080 ori r0,r0,128
804B6A3C: 57E30739 rlwinm. r3,r31,0,28,28
804B6A40: 41820008 beq- 0x804b6a48
804B6A44: 60000800 ori r0,r0,2048
804B6A48: 57E3077B rlwinm. r3,r31,0,29,29
804B6A4C: 41820008 beq- 0x804b6a54
804B6A50: 60000400 ori r0,r0,1024
804B6A54: 57E307BD rlwinm. r3,r31,0,30,30
804B6A58: 41820008 beq- 0x804b6a60
804B6A5C: 60000200 ori r0,r0,512
804B6A60: 57E30529 rlwinm. r3,r31,0,20,20
804B6A64: 41820008 beq- 0x804b6a6c
804B6A68: 60004000 ori r0,r0,16384
804B6A6C: 57E307FF rlwinm. r3,r31,0,31,31
804B6A70: 41820008 beq- 0x804b6a78
804B6A74: 60000100 ori r0,r0,256
804B6A78: 57E30463 rlwinm. r3,r31,0,17,17
804B6A7C: 41820008 beq- 0x804b6a84
804B6A80: 60000010 ori r0,r0,16
804B6A84: 3C608000 lis r3,-32768
804B6A88: 808300C4 lwz r4,196(r3)
804B6A8C: 806300C8 lwz r3,200(r3)
804B6A90: 7C831B78 or r3,r4,r3
804B6A94: 7C031879 andc. r3,r0,r3
804B6A98: 4182008C beq- 0x804b6b24
804B6A9C: 3C808058 lis r4,-32680
804B6AA0: 38845168 addi r4,r4,20840
804B6AA4: 60000000 nop
804B6AA8: 80040000 lwz r0,0(r4)
804B6AAC: 7C600039 and. r0,r3,r0
804B6AB0: 41820010 beq- 0x804b6ac0
804B6AB4: 7C000034 cntlzw r0,r0
804B6AB8: 7C1D0734 extsh r29,r0
804B6ABC: 4800000C b 0x804b6ac8
804B6AC0: 38840004 addi r4,r4,4
804B6AC4: 4BFFFFE4 b 0x804b6aa8
804B6AC8: 806D9620 lwz r3,-27104(r13) Breaks here
804B6ACC: 57A0103A rlwinm r0,r29,2,0,29
804B6AD0: 7FE3002E lwzx r31,r3,r0
804B6AD4: 2C1F0000 cmpwi r31,0
804B6AD8: 4182004C beq- 0x804b6b24
804B6ADC: 2C1D0004 cmpwi r29,4
804B6AE0: 4081001C ble- 0x804b6afc
804B6AE4: B3AD9614 sth r29,-27116(r13)
804B6AE8: 48003A39 bl 0x804ba520
804B6AEC: 908D961C stw r4,-27108(r13)
804B6AF0: 906D9618 stw r3,-27112(r13)
804B6AF4: 801E0198 lwz r0,408(r30)
804B6AF8: 900D9610 stw r0,-27120(r13)
804B6AFC: 480027B5 bl 0x804b92b0
804B6B00: 7FECFB78 mr r12,r31
804B6B04: 7FA3EB78 mr r3,r29
804B6B08: 7FC4F378 mr r4,r30
804B6B0C: 7D8903A6 mtctr r12
804B6B10: 4E800421 bctrl
804B6B14: 480027DD bl 0x804b92f0
804B6B18: 48002CF9 bl 0x804b9810
804B6B1C: 7FC3F378 mr r3,r30
804B6B20: 4BFFBB91 bl 0x804b26b0
804B6B24: 7FC3F378 mr r3,r30
804B6B28: 4BFFBB89 bl 0x804b26b0
804B6B2C: 80010024 lwz r0,36(r1)
804B6B30: 83E1001C lwz r31,28(r1)
804B6B34: 83C10018 lwz r30,24(r1)
804B6B38: 83A10014 lwz r29,20(r1)
804B6B3C: 7C0803A6 mtlr r0
804B6B40: 38210020 addi r1,r1,32
804B6B44: 4E800020 blr
804B6B48: 00000000 .word 0x00000000
804B6B4C: 00000000 .word 0x00000000
804B6B50: 90040000 stw r0,0(r4)
804B6B54: 90240004 stw r1,4(r4)
804B6B58: 90440008 stw r2,8(r4)
804B6B5C: BCC40018 stmw r6,24(r4)
804B6B60: 7C11E2A6 mfspr r0,913
[/spoiler]
Code
[spoiler]040D7C9C 7C18242E ----> anti
285CB16A FAFF0500 ---- button
C20D7C9C 00000002
3DA01111 7DB8212E
7C18242E 00000000
E0000000 80008000[/spoiler]
ASM
[spoiler]
800D7C9C
lis r13,0x00001111
stwx r13,r24,r4 ---> desperation cause stw r13, r24, r4 won't work
lfsx f0,r24,r4[/spoiler]
btw this breaks at different areas, but then stays at 800d7c9c
what´s your problem then :confused:
Oh, it won't work. It freezes the game. I thought I had it working but no. I'm not sure what's going wrong. I thought that someone would figure it out...
It freezes when the button condition is triggered. I put up the step so it would help to figure it out.
When copying disassembly into a spoiler, please right-click in the Disassembler tab and choose "Copy Function". This gets only the ASM for the current function.
---
When the Wii crashes, it's actually a breakpoint. Step just takes you to the breakpoint that caused your crash. This is the instruction that caused you to crash.
804B6AC8: 806D9620 lwz r3,-27104(r13) Breaks here
Look at the value of r13.
r13 : 11110000
Oh noes! 11110000 is not a valid address! That's why your game is crashing.
r13 is one of the registers that you should NEVER touch. EVER. Period. If you over-write the pointer in r13, the game will crash.
Interestingly, if you put the original value for r13 back (80625580), and you hit Run, your game will unfreeze (that is, until your ASM hack clobbers r13 again...)
Why is r13 being clobbered?
lis r13,0x00001111
stwx r13,r24,r4 ---> desperation cause stw r13, r24, r4 won't work
lfsx f0,r24,r4
Because *you* clobbered it!
1) immediates are 16-bit values. You specified a 32-bit value, 0x00001111. The assembler ignored your leading 0s, and treated it like lis r13, 0x1111.
2) DO NOT WRITE TO r13! (or r2, or r1) Use r12. Always. Alwaysalwaysalways use r12. If you need more than r12 and you don't fully understand how volatile registers work, then create a stack frame with stwu/stmw/[code here]/lmw/addi.
3) 0x11110000, as a 32-bit single precision floating point value, represents 1.1438483125704671e-28. That is practically 0.
Use the database arsenal to come up with a better float. http://www.geckocodes.org/index.php?arsenal=3
4) EDIT: btw, the x at the end of a memory access instruction means "indexed". That is, instead of the typical base-displacement operand (e.g. 16(r24) = r24 + 16), it uses the two registers at the end of the instruction as the base-displacement and adds them together (so you get r24 + r4). You were correct to use stwx, just super wrong to use r13.
wow you're fast dcx2! You're practically everywhere at the same time. I swear!
Thanks for the reminder. I do recollect that info now. Keep booting me when I need it! It helps!
The function part, I was using the old Gecko GUI... dotNET kept crashing on me. I'm using dotNET now though so Ill be able to copy the function properly.
lol... r13 clobbered.
ok so r12 worked! but the moon jump didn't...
[spoiler]800D7CCC
lis r12,0x40BE
ori r12, r12, 0xFFFF
stwx r12,r24,r6
lfsx f0,r24,r6
[/spoiler]
Registers
[spoiler] CR:44200422 XER:00000000 CTR:801FE880 DSIS:00400000
DAR:80632D74 SRR0:800D7CCC SRR1:0000B032 LR:800D7AD4
r0:FFFFFFFF r1:80632BC8 r2:80627080 r3:812402E8
r4:00000010 r5:00000004 r6:00000014 r7:00000008
r8:812402E0 r9:80632BD2 r10:805A9630 r11:00000000
r12:FFFFFFFF r13:80625580 r14:00000000 r15:00000000
r16:00000000 r17:00000000 r18:0000000C r19:81230008
r20:00000000 r21:00000000 r22:00000001 r23:00000000
r24:80632D60 r25:805A9630 r26:00000000 r27:00000003
r28:0000600C r29:81236014 r30:81230008 r31:81236016
f0:BF400000 f1:40086400 f2:C124CCCD f3:C194A3D7
f4:BF400000 f5:C13B3333 f6:00000000 f7:C14AF4A8
f8:BF9FF6FC f9:C19A0515 f10:C11CCF29 f11:3FC837A4
f12:4002367A f13:C1AA4BE4 f14:00000000 f15:00000000
f16:00000000 f17:00000000 f18:00000000 f19:00000000
f20:00000000 f21:00000000 f22:00000000 f23:00000000
f24:00000000 f25:3FB33330 f26:3FB33333 f27:3F7D6D52
f28:3FFD6D52 f29:3F333333 f30:00000000 f31:3F800000[/spoiler]
Function
[spoiler]800D79D0: 9421FFB0 stwu r1,-80(r1)
800D79D4: 7C0802A6 mflr r0
800D79D8: 90010054 stw r0,84(r1)
800D79DC: 39610050 addi r11,r1,80
800D79E0: 4839E3B1 bl 0x80475d90
800D79E4: 1D642004 mulli r11,r4,8196
800D79E8: 3980FFFF li r12,-1
800D79EC: 7CB52B78 mr r21,r5
800D79F0: B181000A sth r12,10(r1)
800D79F4: 54A0083C rlwinm r0,r5,1,0,30
800D79F8: 7FC35A14 add r30,r3,r11
800D79FC: B1810008 sth r12,8(r1)
800D7A00: 7C731B78 mr r19,r3
800D7A04: 7C942378 mr r20,r4
800D7A08: 7CDA3378 mr r26,r6
800D7A0C: 7CF63B78 mr r22,r7
800D7A10: 7D174378 mr r23,r8
800D7A14: 7D384B78 mr r24,r9
800D7A18: 7D595378 mr r25,r10
800D7A1C: 7EBCAB78 mr r28,r21
800D7A20: 7FFE0214 add r31,r30,r0
800D7A24: 48000060 b 0x800d7a84
800D7A28: 3C7F0003 addis r3,r31,3
800D7A2C: 3A400000 li r18,0
800D7A30: AB63C000 lha r27,-16384(r3)
800D7A34: 1C1B002C mulli r0,r27,44
800D7A38: 7C93002E lwzx r4,r19,r0
800D7A3C: 80040038 lwz r0,56(r4)
800D7A40: 540017BF rlwinm. r0,r0,2,30,31
800D7A44: 4082001C bne- 0x800d7a60
800D7A48: 7F23CB78 mr r3,r25
800D7A4C: 38840088 addi r4,r4,136
800D7A50: 48280A91 bl 0x803584e0
800D7A54: 2C030000 cmpwi r3,0
800D7A58: 41820008 beq- 0x800d7a60
800D7A5C: 3A400001 li r18,1
800D7A60: 2C120000 cmpwi r18,0
800D7A64: 41820018 beq- 0x800d7a7c
800D7A68: 7E639B78 mr r3,r19
800D7A6C: 7F64DB78 mr r4,r27
800D7A70: 38A1000A addi r5,r1,10
800D7A74: 38C10008 addi r6,r1,8
800D7A78: 4BFFFF09 bl 0x800d7980
800D7A7C: 3BFF0002 addi r31,r31,2
800D7A80: 3B9C0001 addi r28,r28,1
800D7A84: 7F800734 extsh r0,r28
800D7A88: 7C00D000 cmpw r0,r26
800D7A8C: 4081FF9C ble+ 0x800d7a28
800D7A90: 3B740003 addi r27,r20,3
800D7A94: 56C0083C rlwinm r0,r22,1,0,30
800D7A98: 1F9B2004 mulli r28,r27,8196
800D7A9C: 7FB3E214 add r29,r19,r28
800D7AA0: 7FFD0214 add r31,r29,r0
800D7AA4: 48000060 b 0x800d7b04
800D7AA8: 3C7F0003 addis r3,r31,3
800D7AAC: 3A400000 li r18,0
800D7AB0: AB43C000 lha r26,-16384(r3)
800D7AB4: 1C1A002C mulli r0,r26,44
800D7AB8: 7C93002E lwzx r4,r19,r0
800D7ABC: 80040038 lwz r0,56(r4)
800D7AC0: 540017BF rlwinm. r0,r0,2,30,31
800D7AC4: 4082001C bne- 0x800d7ae0
800D7AC8: 7F23CB78 mr r3,r25
800D7ACC: 38840088 addi r4,r4,136
800D7AD0: 48280A11 bl 0x803584e0
800D7AD4: 2C030000 cmpwi r3,0
800D7AD8: 41820008 beq- 0x800d7ae0
800D7ADC: 3A400001 li r18,1
800D7AE0: 2C120000 cmpwi r18,0
800D7AE4: 41820018 beq- 0x800d7afc
800D7AE8: 7E639B78 mr r3,r19
800D7AEC: 7F44D378 mr r4,r26
800D7AF0: 38A1000A addi r5,r1,10
800D7AF4: 38C10008 addi r6,r1,8
800D7AF8: 4BFFFE89 bl 0x800d7980
800D7AFC: 3BFF0002 addi r31,r31,2
800D7B00: 3AD60001 addi r22,r22,1
800D7B04: 7EC00734 extsh r0,r22
800D7B08: 7C00B800 cmpw r0,r23
800D7B0C: 4081FF9C ble+ 0x800d7aa8
800D7B10: 3C130003 addis r0,r19,3
800D7B14: 7C60E214 add r3,r0,r28
800D7B18: 8003E000 lwz r0,-8192(r3)
800D7B1C: 7C170050 sub r0,r0,r23
800D7B20: 7C150000 cmpw r21,r0
800D7B24: 40800094 bge- 0x800d7bb8
800D7B28: 5772103A rlwinm r18,r27,2,0,29
800D7B2C: 3B400000 li r26,0
800D7B30: 48000078 b 0x800d7ba8
800D7B34: 3C7E0003 addis r3,r30,3
800D7B38: 3AC00000 li r22,0
800D7B3C: AB63C000 lha r27,-16384(r3)
800D7B40: 1EFB002C mulli r23,r27,44
800D7B44: 7C93B82E lwzx r4,r19,r23
800D7B48: 80040038 lwz r0,56(r4)
800D7B4C: 540017BF rlwinm. r0,r0,2,30,31
800D7B50: 4082001C bne- 0x800d7b6c
800D7B54: 7F23CB78 mr r3,r25
800D7B58: 38840088 addi r4,r4,136
800D7B5C: 48280985 bl 0x803584e0
800D7B60: 2C030000 cmpwi r3,0
800D7B64: 41820008 beq- 0x800d7b6c
800D7B68: 3AC00001 li r22,1
800D7B6C: 2C160000 cmpwi r22,0
800D7B70: 41820030 beq- 0x800d7ba0
800D7B74: 7C13BA14 add r0,r19,r23
800D7B78: 7C18942E lfsx f0,r24,r18
800D7B7C: 7C609214 add r3,r0,r18
800D7B80: C0230004 lfs f1,4(r3)
800D7B84: FC010040 fcmpo cr0,f1,f0
800D7B88: 40810018 ble- 0x800d7ba0
800D7B8C: 7E639B78 mr r3,r19
800D7B90: 7F64DB78 mr r4,r27
800D7B94: 38A1000A addi r5,r1,10
800D7B98: 38C10008 addi r6,r1,8
800D7B9C: 4BFFFDE5 bl 0x800d7980
800D7BA0: 3BDE0002 addi r30,r30,2
800D7BA4: 3B5A0001 addi r26,r26,1
800D7BA8: 7F400734 extsh r0,r26
800D7BAC: 7C00A800 cmpw r0,r21
800D7BB0: 4180FF84 blt+ 0x800d7b34
800D7BB4: 480000A0 b 0x800d7c54
800D7BB8: 56E0083C rlwinm r0,r23,1,0,30
800D7BBC: 3C7C0003 addis r3,r28,3
800D7BC0: 569F103A rlwinm r31,r20,2,0,29
800D7BC4: 7E5D0214 add r18,r29,r0
800D7BC8: 3AC3E000 subi r22,r3,8192
800D7BCC: 48000078 b 0x800d7c44
800D7BD0: 3C720003 addis r3,r18,3
800D7BD4: 3AA00000 li r21,0
800D7BD8: AB63C000 lha r27,-16384(r3)
800D7BDC: 1F5B002C mulli r26,r27,44
800D7BE0: 7C93D02E lwzx r4,r19,r26
800D7BE4: 80040038 lwz r0,56(r4)
800D7BE8: 540017BF rlwinm. r0,r0,2,30,31
800D7BEC: 4082001C bne- 0x800d7c08
800D7BF0: 7F23CB78 mr r3,r25
800D7BF4: 38840088 addi r4,r4,136
800D7BF8: 482808E9 bl 0x803584e0
800D7BFC: 2C030000 cmpwi r3,0
800D7C00: 41820008 beq- 0x800d7c08
800D7C04: 3AA00001 li r21,1
800D7C08: 2C150000 cmpwi r21,0
800D7C0C: 41820030 beq- 0x800d7c3c
800D7C10: 7C13D214 add r0,r19,r26
800D7C14: 7C18FC2E lfsx f0,r24,r31
800D7C18: 7C60FA14 add r3,r0,r31
800D7C1C: C0230004 lfs f1,4(r3)
800D7C20: FC010040 fcmpo cr0,f1,f0
800D7C24: 40800018 bge- 0x800d7c3c
800D7C28: 7E639B78 mr r3,r19
800D7C2C: 7F64DB78 mr r4,r27
800D7C30: 38A1000A addi r5,r1,10
800D7C34: 38C10008 addi r6,r1,8
800D7C38: 4BFFFD49 bl 0x800d7980
800D7C3C: 3A520002 addi r18,r18,2
800D7C40: 3AF70001 addi r23,r23,1
800D7C44: 7C13B02E lwzx r0,r19,r22
800D7C48: 7EE30734 extsh r3,r23
800D7C4C: 7C030000 cmpw r3,r0
800D7C50: 4180FF80 blt+ 0x800d7bd0
800D7C54: 3C808054 lis r4,-32684
800D7C58: 3C608054 lis r3,-32684
800D7C5C: 5685103A rlwinm r5,r20,2,0,29
800D7C60: 3921000A addi r9,r1,10
800D7C64: 38845ED0 addi r4,r4,24272
800D7C68: 38635EDC addi r3,r3,24284
800D7C6C: 7C63282E lwzx r3,r3,r5
800D7C70: 3800FFFF li r0,-1
800D7C74: 7C84282E lwzx r4,r4,r5
800D7C78: 39030003 addi r8,r3,3
800D7C7C: 5467103A rlwinm r7,r3,2,0,29
800D7C80: 38C40003 addi r6,r4,3
800D7C84: 5485103A rlwinm r5,r4,2,0,29
800D7C88: 54C4103A rlwinm r4,r6,2,0,29
800D7C8C: 5506103A rlwinm r6,r8,2,0,29
800D7C90: 48000074 b 0x800d7d04
800D7C94: 60000000 nop
800D7C98: 1C63002C mulli r3,r3,44
800D7C9C: 7C18242E lfsx f0,r24,r4
800D7CA0: 7D131A14 add r8,r19,r3
800D7CA4: 7C682A14 add r3,r8,r5
800D7CA8: C0230004 lfs f1,4(r3)
800D7CAC: FC010040 fcmpo cr0,f1,f0
800D7CB0: 41810040 bgt- 0x800d7cf0
800D7CB4: 7C682214 add r3,r8,r4
800D7CB8: 7C182C2E lfsx f0,r24,r5
800D7CBC: C0230004 lfs f1,4(r3)
800D7CC0: FC010040 fcmpo cr0,f1,f0
800D7CC4: 4180002C blt- 0x800d7cf0
800D7CC8: 7C683A14 add r3,r8,r7
800D7CCC: 7C18342E lfsx f0,r24,r6 ---> BP
800D7CD0: C0230004 lfs f1,4(r3)
800D7CD4: FC010040 fcmpo cr0,f1,f0
800D7CD8: 41810018 bgt- 0x800d7cf0
800D7CDC: 7C683214 add r3,r8,r6
800D7CE0: 7C183C2E lfsx f0,r24,r7
800D7CE4: C0230004 lfs f1,4(r3)
800D7CE8: FC010040 fcmpo cr0,f1,f0
800D7CEC: 40800014 bge- 0x800d7d00
800D7CF0: A8680028 lha r3,40(r8)
800D7CF4: B0690000 sth r3,0(r9)
800D7CF8: B0080028 sth r0,40(r8)
800D7CFC: 48000008 b 0x800d7d04
800D7D00: 39280028 addi r9,r8,40
800D7D04: A8690000 lha r3,0(r9)
800D7D08: 2C03FFFF cmpwi r3,-1
800D7D0C: 4082FF8C bne+ 0x800d7c98
800D7D10: 39610050 addi r11,r1,80
800D7D14: A861000A lha r3,10(r1)
800D7D18: 4839E0C5 bl 0x80475ddc
800D7D1C: 80010054 lwz r0,84(r1)
800D7D20: 7C0803A6 mtlr r0
800D7D24: 38210050 addi r1,r1,80
800D7D28: 4E800020 blr
[/spoiler]
Code
[spoiler]040D7CCC 7C18342E
285CB16A FAFF0500
C20D7CCC 00000003
3D8040BE 618CFFFF
7D98312E 7C18342E
60000000 00000000
E0000000 80008000
[/spoiler]
I've noticed that on the ntsc code version there's a little more than the asm. This baffles me. What do you suppose its for... + there's no anti code... more than one address for the y addresses? Ill look for Pointers
This is Thomas83Lin's Moon Jump. Awesome guy by the way!
[spoiler]
Moon Jump 1-2 Player Press (B+2)
C22BD8A4 00000004
80A6FFF8 3D808000
618C1840 90AC0000
80A6FFFC 90AC0004
80A40000 00000000
285C9E28 FAFF0500 ---> controller 1
48000000 80001840 ---> load into PA 80001840+0184
DE000000 80008180
14000184 4503E30C
E0000000 80008000
285CA4B0 FAFF0500 ----> controller 2
48000000 80001844
DE000000 80008180
14000184 4503E30C
E0000000 80008000[/spoiler]
My code is simply storing 2 ASM pointers to get the location of P1 and P2. then uses regular code types to modify the y-speed
Where do I learn to do that? or could you teach me?
thomas83lin, I understand pointers. I'll give it a go.
I tried to find the pointer addresses for the players, got some in the negative offset.
Anyways, I made a gecko register code for the vertical address that I found.
It works, but doesn't influence the jump what so ever.
[spoiler]285CB16A 00000100
8220000A 80632D74
8600000A 01FFFFFF
8420000A 80632D74
E0000000 80008000
[/spoiler]
I can't find the right location for the jump...
I search for less greater. only. At the end I search for not equal.
Here are the codes I came up with. I thought this might give you some idea of what's going on.
[spoiler]
* 285CB16A 00000100 ---> controller 1 (1)
* 046313DC 60000000 ---> nop standing/jumping instruction A
* 046313EC 60000000 ---> nop standing/jumping instruction B
* 8220000A 80630F80 ---> the first of the 56 results for vertical addresses
* 8600000A 000000FF ---> add ff while activator is on
* 8420000A 80630F80 ---> to the address
* 8220000B 80630F8C
* 8600000B 000000FF
* 8420000B 80630F8C
* 8220000C 80630F98
* 8600000C 000000FF
* 8420000C 80630F8C
* 8220000D 80630FF8
* 8600000D 000000FF
* 8420000D 80630FF8
* 8220000E 806311BC
* 8600000E 000000FF
* 8420000E 806311BC
* 8220000F 80631160
* 8600000F 000000FF
* 8420000F 80631160
* 82200001 8063116C
* 86000001 000000FF
* 84200001 8063116C
* E0000000 80008000
[/spoiler]