I can't seem to figure out why the vertical coordination don't do anything.
If I set a button activator (28)
and I set the ba (04) at a value of greater than floor value
and then restore(E)
This should make the avatar rise, correct?
In ASM this is what I'm doing
[spoiler]stw r12,12(r24)
addi r12,r12,1
stw r12,12(r24)
lfs f29,12(r24)[/spoiler]
Breaks right away. (803C42E4)
registers
[spoiler] CR:84200088 XER:00000000 CTR:80134F5C DSIS:00400000
DAR:803C42E4 SRR0:80135568 SRR1:0000B032 LR:80135020
r0:00000001 r1:8062AE80 r2:8061FA20 r3:803E0000
r4:00000009 r5:00000001 r6:00000000 r7:00000000
r8:52290000 r9:00000000 r10:0000001A r11:8062AFD0
r12:80134F5C r13:8061D200 r14:00000000 r15:00000000
r16:00000000 r17:00000000 r18:00000000 r19:00000000
r20:00000000 r21:00000000 r22:43300000 r23:00000000
r24:803C42D8 r25:803C4348 r26:803C4348 r27:803C4058
r28:FFFFFFFF r29:00000000 r30:803E34D0 r31:803C4058
f0:484D1400 f1:3F4417C9 f2:BF4417C9 f3:BEE8B25A
f4:BEE8B25A f5:BEE8B25A f6:C1700000 f7:41833E94
f8:41200000 f9:59800000 f10:3EB8091A f11:80000000
f12:00000000 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:59800000 f31:3F800000[/spoiler]
[spoiler]80134F5C: 9421FE80 stwu r1,-384(r1)
80134F60: 7C0802A6 mflr r0
80134F64: 90010184 stw r0,388(r1)
80134F68: DBE10170 stfd f31,368(r1)
80134F6C: F3E10178 psq_st f31,376(r1),0,0
80134F70: DBC10160 stfd f30,352(r1)
80134F74: F3C10168 psq_st f30,360(r1),0,0
80134F78: DBA10150 stfd f29,336(r1)
80134F7C: F3A10158 psq_st f29,344(r1),0,0
80134F80: 39610150 addi r11,r1,336
80134F84: 48080DF5 bl 0x801b5d78
80134F88: 880D9740 lbz r0,-26816(r13)
80134F8C: 7C7F1B78 mr r31,r3
80134F90: 7C000775 extsb. r0,r0
80134F94: 40820018 bne- 0x80134fac
80134F98: 3C60803C lis r3,-32708
80134F9C: 38639F00 subi r3,r3,24832
80134FA0: 4BEFF799 bl 0x80034738
80134FA4: 38000001 li r0,1
80134FA8: 980D9740 stb r0,-26816(r13)
80134FAC: 3C60803C lis r3,-32708
80134FB0: 38639F00 subi r3,r3,24832
80134FB4: 8003420C lwz r0,16908(r3)
80134FB8: 2C000000 cmpwi r0,0
80134FBC: 4082000C bne- 0x80134fc8
80134FC0: 38600000 li r3,0
80134FC4: 48000768 b 0x8013572c
80134FC8: 801F0020 lwz r0,32(r31)
80134FCC: 2C000000 cmpwi r0,0
80134FD0: 40820728 bne- 0x801356f8
80134FD4: 386100F8 addi r3,r1,248
80134FD8: 38800004 li r4,4
80134FDC: 38A00001 li r5,1
80134FE0: 38C00000 li r6,0
80134FE4: 480593F5 bl 0x8018e3d8
80134FE8: 3B1F0280 addi r24,r31,640
80134FEC: 3E80803E lis r20,-32706
80134FF0: 907F027C stw r3,636(r31)
80134FF4: 7F1AC378 mr r26,r24
80134FF8: 3B6100F8 addi r27,r1,248
80134FFC: 3A9434D0 addi r20,r20,13520
80135000: 3B200000 li r25,0
80135004: 3B80FFFF li r28,-1
80135008: 480000A4 b 0x801350ac
8013500C: 82BB0000 lwz r21,0(r27)
80135010: 2C150000 cmpwi r21,0
80135014: 41820064 beq- 0x80135078
80135018: 7EA3AB78 mr r3,r21
8013501C: 4BF030ED bl 0x80038108
80135020: 2C030000 cmpwi r3,0
80135024: 41820054 beq- 0x80135078
80135028: 2C150000 cmpwi r21,0
8013502C: 93810078 stw r28,120(r1)
80135030: 40820014 bne- 0x80135044
80135034: 8001007C lwz r0,124(r1)
80135038: 93810070 stw r28,112(r1)
8013503C: 90010074 stw r0,116(r1)
80135040: 48000024 b 0x80135064
80135044: 80950028 lwz r4,40(r21)
80135048: 54801838 rlwinm r0,r4,3,0,28
8013504C: 90810078 stw r4,120(r1)
80135050: 7C740214 add r3,r20,r0
80135054: 80030004 lwz r0,4(r3)
80135058: 90810070 stw r4,112(r1)
8013505C: 9001007C stw r0,124(r1)
80135060: 90010074 stw r0,116(r1)
80135064: 80610070 lwz r3,112(r1)
80135068: 80010074 lwz r0,116(r1)
8013506C: 90610080 stw r3,128(r1)
80135070: 90010084 stw r0,132(r1)
80135074: 48000014 b 0x80135088
80135078: 8001006C lwz r0,108(r1)
8013507C: 93810068 stw r28,104(r1)
80135080: 93810080 stw r28,128(r1)
80135084: 90010084 stw r0,132(r1)
80135088: 80610080 lwz r3,128(r1)
8013508C: 3B7B0004 addi r27,r27,4
80135090: 80010084 lwz r0,132(r1)
80135094: 3B390001 addi r25,r25,1
80135098: 907A0000 stw r3,0(r26)
8013509C: 901A0004 stw r0,4(r26)
801350A0: 3B5A001C addi r26,r26,28
801350A4: 906100A0 stw r3,160(r1)
801350A8: 900100A4 stw r0,164(r1)
801350AC: 801F027C lwz r0,636(r31)
801350B0: 7C190000 cmpw r25,r0
801350B4: 4180FF58 blt+ 0x8013500c
801350B8: 3AE00000 li r23,0
801350BC: 3C60803E lis r3,-32706
801350C0: 3B3F02F0 addi r25,r31,752
801350C4: 92FF0770 stw r23,1904(r31)
801350C8: C3C29350 lfs f30,-27824(r2)
801350CC: 7FFBFB78 mr r27,r31
801350D0: CBA29360 lfd f29,-27808(r2)
801350D4: 7F3ACB78 mr r26,r25
801350D8: 3BC334D0 addi r30,r3,13520
801350DC: 3AC00000 li r22,0
801350E0: 3B80FFFF li r28,-1
801350E4: 3FA04330 lis r29,17200
801350E8: 48000380 b 0x80135468
801350EC: 82BB006C lwz r21,108(r27)
801350F0: 88150BD9 lbz r0,3033(r21)
801350F4: 2C000000 cmpwi r0,0
801350F8: 418200AC beq- 0x801351a4
801350FC: 2C150000 cmpwi r21,0
80135100: 41820064 beq- 0x80135164
80135104: 7EA3AB78 mr r3,r21
80135108: 4BF03001 bl 0x80038108
8013510C: 2C030000 cmpwi r3,0
80135110: 41820054 beq- 0x80135164
80135114: 2C150000 cmpwi r21,0
80135118: 93810058 stw r28,88(r1)
8013511C: 40820014 bne- 0x80135130
80135120: 8001005C lwz r0,92(r1)
80135124: 93810050 stw r28,80(r1)
80135128: 90010054 stw r0,84(r1)
8013512C: 48000024 b 0x80135150
80135130: 80950028 lwz r4,40(r21)
80135134: 54801838 rlwinm r0,r4,3,0,28
80135138: 90810058 stw r4,88(r1)
8013513C: 7C7E0214 add r3,r30,r0
80135140: 80030004 lwz r0,4(r3)
80135144: 90810050 stw r4,80(r1)
80135148: 9001005C stw r0,92(r1)
8013514C: 90010054 stw r0,84(r1)
80135150: 80610050 lwz r3,80(r1)
80135154: 80010054 lwz r0,84(r1)
80135158: 90610060 stw r3,96(r1)
8013515C: 90010064 stw r0,100(r1)
80135160: 48000014 b 0x80135174
80135164: 8001004C lwz r0,76(r1)
80135168: 93810048 stw r28,72(r1)
8013516C: 93810060 stw r28,96(r1)
80135170: 90010064 stw r0,100(r1)
80135174: 801F0770 lwz r0,1904(r31)
80135178: 80A10060 lwz r5,96(r1)
8013517C: 54001838 rlwinm r0,r0,3,0,28
80135180: 80810064 lwz r4,100(r1)
80135184: 7C7F0214 add r3,r31,r0
80135188: 90A10098 stw r5,152(r1)
8013518C: 90A306F0 stw r5,1776(r3)
80135190: 908306F4 stw r4,1780(r3)
80135194: 807F0770 lwz r3,1904(r31)
80135198: 9081009C stw r4,156(r1)
8013519C: 38030001 addi r0,r3,1
801351A0: 901F0770 stw r0,1904(r31)
801351A4: 88152C54 lbz r0,11348(r21)
801351A8: 28000003 cmplwi r0,3
801351AC: 408201CC bne- 0x80135378
801351B0: 801F027C lwz r0,636(r31)
801351B4: 7FE5FB78 mr r5,r31
801351B8: 3A800000 li r20,0
801351BC: 7C0903A6 mtctr r0
801351C0: 2C000000 cmpwi r0,0
801351C4: 408101B4 ble- 0x80135378
801351C8: 80152C58 lwz r0,11352(r21)
801351CC: 80752C5C lwz r3,11356(r21)
801351D0: 2C000000 cmpwi r0,0
801351D4: 40800014 bge- 0x801351e8
801351D8: 2C000400 cmpwi r0,1024
801351DC: 4180000C blt- 0x801351e8
801351E0: 38600000 li r3,0
801351E4: 48000024 b 0x80135208
801351E8: 54001838 rlwinm r0,r0,3,0,28
801351EC: 7C9E0214 add r4,r30,r0
801351F0: 80040004 lwz r0,4(r4)
801351F4: 7C030040 cmplw r3,r0
801351F8: 4182000C beq- 0x80135204
801351FC: 38600000 li r3,0
80135200: 48000008 b 0x80135208
80135204: 80640000 lwz r3,0(r4)
80135208: 80050280 lwz r0,640(r5)
8013520C: 80850284 lwz r4,644(r5)
80135210: 2C000000 cmpwi r0,0
80135214: 40800014 bge- 0x80135228
80135218: 2C000400 cmpwi r0,1024
8013521C: 4180000C blt- 0x80135228
80135220: 38000000 li r0,0
80135224: 48000024 b 0x80135248
80135228: 54001838 rlwinm r0,r0,3,0,28
8013522C: 7CDE0214 add r6,r30,r0
80135230: 80060004 lwz r0,4(r6)
80135234: 7C040040 cmplw r4,r0
80135238: 4182000C beq- 0x80135244
8013523C: 38000000 li r0,0
80135240: 48000008 b 0x80135248
80135244: 80060000 lwz r0,0(r6)
80135248: 7C030040 cmplw r3,r0
8013524C: 40820120 bne- 0x8013536c
80135250: 2C150000 cmpwi r21,0
80135254: 9A9A0000 stb r20,0(r26)
80135258: 41820064 beq- 0x801352bc
8013525C: 7EA3AB78 mr r3,r21
80135260: 4BF02EA9 bl 0x80038108
80135264: 2C030000 cmpwi r3,0
80135268: 41820054 beq- 0x801352bc
8013526C: 2C150000 cmpwi r21,0
80135270: 93810038 stw r28,56(r1)
80135274: 40820014 bne- 0x80135288
80135278: 8001003C lwz r0,60(r1)
8013527C: 93810030 stw r28,48(r1)
80135280: 90010034 stw r0,52(r1)
80135284: 48000024 b 0x801352a8
80135288: 80950028 lwz r4,40(r21)
8013528C: 54801838 rlwinm r0,r4,3,0,28
80135290: 90810038 stw r4,56(r1)
80135294: 7C7E0214 add r3,r30,r0
80135298: 80030004 lwz r0,4(r3)
8013529C: 90810030 stw r4,48(r1)
801352A0: 9001003C stw r0,60(r1)
801352A4: 90010034 stw r0,52(r1)
801352A8: 80610030 lwz r3,48(r1)
801352AC: 80010034 lwz r0,52(r1)
801352B0: 90610040 stw r3,64(r1)
801352B4: 90010044 stw r0,68(r1)
801352B8: 48000014 b 0x801352cc
801352BC: 8001002C lwz r0,44(r1)
801352C0: 93810028 stw r28,40(r1)
801352C4: 93810040 stw r28,64(r1)
801352C8: 90010044 stw r0,68(r1)
801352CC: 80810040 lwz r4,64(r1)
801352D0: 1C14001C mulli r0,r20,28
801352D4: 80610044 lwz r3,68(r1)
801352D8: 909A0004 stw r4,4(r26)
801352DC: 7CBF0214 add r5,r31,r0
801352E0: 907A0008 stw r3,8(r26)
801352E4: 80050280 lwz r0,640(r5)
801352E8: 90810090 stw r4,144(r1)
801352EC: 2C000000 cmpwi r0,0
801352F0: 80850284 lwz r4,644(r5)
801352F4: 90610094 stw r3,148(r1)
801352F8: 40800014 bge- 0x8013530c
801352FC: 2C000400 cmpwi r0,1024
80135300: 4180000C blt- 0x8013530c
80135304: 38E00000 li r7,0
80135308: 48000024 b 0x8013532c
8013530C: 54001838 rlwinm r0,r0,3,0,28
80135310: 7C7E0214 add r3,r30,r0
80135314: 80030004 lwz r0,4(r3)
80135318: 7C040040 cmplw r4,r0
8013531C: 4182000C beq- 0x80135328
80135320: 38E00000 li r7,0
80135324: 48000008 b 0x8013532c
80135328: 80E30000 lwz r7,0(r3)
8013532C: 80C70050 lwz r6,80(r7)
80135330: 386100E8 addi r3,r1,232
80135334: 80070054 lwz r0,84(r7)
80135338: 388100DC addi r4,r1,220
8013533C: 38B50050 addi r5,r21,80
80135340: 90C100DC stw r6,220(r1)
80135344: 900100E0 stw r0,224(r1)
80135348: 80070058 lwz r0,88(r7)
8013534C: 900100E4 stw r0,228(r1)
80135350: 4BF53539 bl 0x80088888
80135354: 386100E8 addi r3,r1,232
80135358: 480AC211 bl 0x801e1568
8013535C: D03A000C stfs f1,12(r26)
80135360: 3B5A0010 addi r26,r26,16
80135364: 3AF70001 addi r23,r23,1
80135368: 48000010 b 0x80135378
8013536C: 38A5001C addi r5,r5,28
80135370: 3A940001 addi r20,r20,1
80135374: 4200FE54 bdnz+ 0x801351c8
80135378: 80952CD0 lwz r4,11472(r21)
8013537C: 2C040000 cmpwi r4,0
80135380: 41820040 beq- 0x801353c0
80135384: 80752CC8 lwz r3,11464(r21)
80135388: 6C808000 xoris r0,r4,32768
8013538C: 90010114 stw r0,276(r1)
80135390: 7C632050 sub r3,r4,r3
80135394: 7C6319D6 mullw r3,r3,r3
80135398: 93A10110 stw r29,272(r1)
8013539C: C8010110 lfd f0,272(r1)
801353A0: 93A10108 stw r29,264(r1)
801353A4: EC00E828 fsubs f0,f0,f29
801353A8: 6C608000 xoris r0,r3,32768
801353AC: 9001010C stw r0,268(r1)
801353B0: C8210108 lfd f1,264(r1)
801353B4: EC21E828 fsubs f1,f1,f29
801353B8: EC010024 fdivs f0,f1,f0
801353BC: 48000008 b 0x801353c4
801353C0: C0029350 lfs f0,-27824(r2)
801353C4: FC00F040 fcmpo cr0,f0,f30
801353C8: 40810098 ble- 0x80135460
801353CC: FFC00090 fmr f30,f0
801353D0: 2C150000 cmpwi r21,0
801353D4: 41820064 beq- 0x80135438
801353D8: 7EA3AB78 mr r3,r21
801353DC: 4BF02D2D bl 0x80038108
801353E0: 2C030000 cmpwi r3,0
801353E4: 41820054 beq- 0x80135438
801353E8: 2C150000 cmpwi r21,0
801353EC: 93810018 stw r28,24(r1)
801353F0: 40820014 bne- 0x80135404
801353F4: 8001001C lwz r0,28(r1)
801353F8: 93810010 stw r28,16(r1)
801353FC: 90010014 stw r0,20(r1)
80135400: 48000024 b 0x80135424
80135404: 80950028 lwz r4,40(r21)
80135408: 54801838 rlwinm r0,r4,3,0,28
8013540C: 90810018 stw r4,24(r1)
80135410: 7C7E0214 add r3,r30,r0
80135414: 80030004 lwz r0,4(r3)
80135418: 90810010 stw r4,16(r1)
8013541C: 9001001C stw r0,28(r1)
80135420: 90010014 stw r0,20(r1)
80135424: 80610010 lwz r3,16(r1)
80135428: 80010014 lwz r0,20(r1)
8013542C: 90610020 stw r3,32(r1)
80135430: 90010024 stw r0,36(r1)
80135434: 48000014 b 0x80135448
80135438: 8001000C lwz r0,12(r1)
8013543C: 93810008 stw r28,8(r1)
80135440: 93810020 stw r28,32(r1)
80135444: 90010024 stw r0,36(r1)
80135448: 80610020 lwz r3,32(r1)
8013544C: 80010024 lwz r0,36(r1)
80135450: 90610088 stw r3,136(r1)
80135454: 9001008C stw r0,140(r1)
80135458: 907F0774 stw r3,1908(r31)
8013545C: 901F0778 stw r0,1912(r31)
80135460: 3B7B0004 addi r27,r27,4
80135464: 3AD60001 addi r22,r22,1
80135468: 801F0068 lwz r0,104(r31)
8013546C: 7C160000 cmpw r22,r0
80135470: 4180FC7C blt+ 0x801350ec
80135474: 3877FFFF subi r3,r23,1
80135478: 39200000 li r9,0
8013547C: 480000AC b 0x80135528
80135480: 39490001 addi r10,r9,1
80135484: 55402036 rlwinm r0,r10,4,0,27
80135488: 7C9F0214 add r4,r31,r0
8013548C: 7C0AB850 sub r0,r23,r10
80135490: 390402F0 addi r8,r4,752
80135494: 7C0903A6 mtctr r0
80135498: 7C0AB800 cmpw r10,r23
8013549C: 40800084 bge- 0x80135520
801354A0: 88190000 lbz r0,0(r25)
801354A4: 88880000 lbz r4,0(r8)
801354A8: 7C040040 cmplw r4,r0
801354AC: 41800018 blt- 0x801354c4
801354B0: 40820064 bne- 0x80135514
801354B4: C028000C lfs f1,12(r8)
801354B8: C019000C lfs f0,12(r25)
801354BC: FC010040 fcmpo cr0,f1,f0
801354C0: 40800054 bge- 0x80135514
801354C4: 88F90000 lbz r7,0(r25)
801354C8: 80D90004 lwz r6,4(r25)
801354CC: 80B90008 lwz r5,8(r25)
801354D0: C039000C lfs f1,12(r25)
801354D4: 88080000 lbz r0,0(r8)
801354D8: 98E100A8 stb r7,168(r1)
801354DC: 98190000 stb r0,0(r25)
801354E0: 80880004 lwz r4,4(r8)
801354E4: 80080008 lwz r0,8(r8)
801354E8: 90C100AC stw r6,172(r1)
801354EC: 90990004 stw r4,4(r25)
801354F0: 90190008 stw r0,8(r25)
801354F4: C008000C lfs f0,12(r8)
801354F8: 90A100B0 stw r5,176(r1)
801354FC: D019000C stfs f0,12(r25)
80135500: 98E80000 stb r7,0(r8)
80135504: 90C80004 stw r6,4(r8)
80135508: 90A80008 stw r5,8(r8)
8013550C: D02100B4 stfs f1,180(r1)
80135510: D028000C stfs f1,12(r8)
80135514: 39080010 addi r8,r8,16
80135518: 394A0001 addi r10,r10,1
8013551C: 4200FF84 bdnz+ 0x801354a0
80135520: 3B390010 addi r25,r25,16
80135524: 39290001 addi r9,r9,1
80135528: 7C091800 cmpw r9,r3
8013552C: 4180FF54 blt+ 0x80135480
80135530: 3C60803E lis r3,-32706
80135534: CBC29388 lfd f30,-27768(r2)
80135538: C3E29358 lfs f31,-27816(r2)
8013553C: 7FFBFB78 mr r27,r31
80135540: C3A29350 lfs f29,-27824(r2)
80135544: 3BC334D0 addi r30,r3,13520
80135548: 3A800000 li r20,0
8013554C: 3AA00000 li r21,0
80135550: 3EC04330 lis r22,17200
80135554: 3BA00000 li r29,0
80135558: 48000180 b 0x801356d8
8013555C: B2980014 sth r20,20(r24)
80135560: B3B80016 sth r29,22(r24)
80135564: D3B80008 stfs f29,8(r24)
80135568: C3B8000C lfs f29,12(r24) Broke here with a read and exact value
8013556C: D3A100D0 stfs f29,208(r1)
80135570: D3A100D4 stfs f29,212(r1)
80135574: D3A100D8 stfs f29,216(r1)
80135578: D3B80010 stfs f29,16(r24)
8013557C: 480000AC b 0x80135628
80135580: 881B02F0 lbz r0,752(r27)
80135584: 7C150000 cmpw r21,r0
80135588: 408200A8 bne- 0x80135630
8013558C: 801B02F4 lwz r0,756(r27)
80135590: 807B02F8 lwz r3,760(r27)
80135594: 2C000000 cmpwi r0,0
80135598: 40800014 bge- 0x801355ac
8013559C: 2C000400 cmpwi r0,1024
801355A0: 4180000C blt- 0x801355ac
801355A4: 3B800000 li r28,0
801355A8: 48000024 b 0x801355cc
801355AC: 54001838 rlwinm r0,r0,3,0,28
801355B0: 7C9E0214 add r4,r30,r0
801355B4: 80040004 lwz r0,4(r4)
801355B8: 7C030040 cmplw r3,r0
801355BC: 4182000C beq- 0x801355c8
801355C0: 3B800000 li r28,0
801355C4: 48000008 b 0x801355cc
801355C8: 83840000 lwz r28,0(r4)
801355CC: 80DC0050 lwz r6,80(r28)
801355D0: 38780008 addi r3,r24,8
801355D4: 801C0054 lwz r0,84(r28)
801355D8: 7C641B78 mr r4,r3
801355DC: 38A100C4 addi r5,r1,196
801355E0: 90C100C4 stw r6,196(r1)
801355E4: 900100C8 stw r0,200(r1)
801355E8: 801C0058 lwz r0,88(r28)
801355EC: 900100CC stw r0,204(r1)
801355F0: 4BF53275 bl 0x80088864
801355F4: A0780016 lhz r3,22(r24)
801355F8: 3B7B0010 addi r27,r27,16
801355FC: 3A940001 addi r20,r20,1
80135600: 3803FFFA subi r0,r3,6
80135604: 54000FFE rlwinm r0,r0,1,31,31
80135608: 981C2C99 stb r0,11417(r28)
8013560C: A0180016 lhz r0,22(r24)
80135610: 20000001 subfic r0,r0,1
80135614: 54000FFE rlwinm r0,r0,1,31,31
80135618: 981C2C9A stb r0,11418(r28)
8013561C: A0780016 lhz r3,22(r24)
80135620: 38030001 addi r0,r3,1
80135624: B0180016 sth r0,22(r24)
80135628: 7C14B800 cmpw r20,r23
8013562C: 4180FF54 blt+ 0x80135580
80135630: A0180016 lhz r0,22(r24)
80135634: 2C000000 cmpwi r0,0
80135638: 41820028 beq- 0x80135660
8013563C: 90010114 stw r0,276(r1)
80135640: 38780008 addi r3,r24,8
80135644: 7C641B78 mr r4,r3
80135648: 92C10110 stw r22,272(r1)
8013564C: C8010110 lfd f0,272(r1)
80135650: EC00F028 fsubs f0,f0,f30
80135654: EC3F0024 fdivs f1,f31,f0
80135658: 4BF53255 bl 0x800888ac
8013565C: 48000074 b 0x801356d0
80135660: 80180000 lwz r0,0(r24)
80135664: 80780004 lwz r3,4(r24)
80135668: 2C000000 cmpwi r0,0
8013566C: 40800014 bge- 0x80135680
80135670: 2C000400 cmpwi r0,1024
80135674: 4180000C blt- 0x80135680
80135678: 38800000 li r4,0
8013567C: 48000024 b 0x801356a0
80135680: 54001838 rlwinm r0,r0,3,0,28
80135684: 7C9E0214 add r4,r30,r0
80135688: 80040004 lwz r0,4(r4)
8013568C: 7C030040 cmplw r3,r0
80135690: 4182000C beq- 0x8013569c
80135694: 38800000 li r4,0
80135698: 48000008 b 0x801356a0
8013569C: 80840000 lwz r4,0(r4)
801356A0: 80040050 lwz r0,80(r4)
801356A4: 80640054 lwz r3,84(r4)
801356A8: 900100B8 stw r0,184(r1)
801356AC: 80040058 lwz r0,88(r4)
801356B0: 906100BC stw r3,188(r1)
801356B4: C00100B8 lfs f0,184(r1)
801356B8: 900100C0 stw r0,192(r1)
801356BC: C02100BC lfs f1,188(r1)
801356C0: D0180008 stfs f0,8(r24)
801356C4: C00100C0 lfs f0,192(r1)
801356C8: D038000C stfs f1,12(r24)
801356CC: D0180010 stfs f0,16(r24)
801356D0: 3B18001C addi r24,r24,28
801356D4: 3AB50001 addi r21,r21,1
801356D8: 801F027C lwz r0,636(r31)
801356DC: 7C150000 cmpw r21,r0
801356E0: 4180FE7C blt+ 0x8013555c
801356E4: 38000000 li r0,0
801356E8: 7FE3FB78 mr r3,r31
801356EC: 901F13F0 stw r0,5104(r31)
801356F0: 480006C5 bl 0x80135db4
801356F4: 48000034 b 0x80135728
801356F8: 7FE4FB78 mr r4,r31
801356FC: 38A00000 li r5,0
80135700: 38600000 li r3,0
80135704: 48000010 b 0x80135714
80135708: 98640298 stb r3,664(r4)
8013570C: 3884001C addi r4,r4,28
80135710: 38A50001 addi r5,r5,1
80135714: 801F027C lwz r0,636(r31)
80135718: 7C050000 cmpw r5,r0
8013571C: 4180FFEC blt+ 0x80135708
80135720: 7FE3FB78 mr r3,r31
80135724: 480005A1 bl 0x80135cc4
80135728: 38600000 li r3,0
8013572C: E3E10178 psq_l f31,376(r1),0,0
80135730: CBE10170 lfd f31,368(r1)
80135734: E3C10168 psq_l f30,360(r1),0,0
80135738: CBC10160 lfd f30,352(r1)
8013573C: E3A10158 psq_l f29,344(r1),0,0
80135740: 39610150 addi r11,r1,336
80135744: CBA10150 lfd f29,336(r1)
80135748: 4808067D bl 0x801b5dc4
8013574C: 80010184 lwz r0,388(r1)
80135750: 7C0803A6 mtlr r0
80135754: 38210180 addi r1,r1,384
80135758: 4E800020 blr
[/spoiler]
There are 4 other addresses and they don't relocate the avatar. Neither does the first one.
[spoiler]
803C42E4 804B56D0
804B56DC 804E4B54
[/spoiler]
Gecko Register Code (Float Avatar + 7f over the ground)
[spoiler]283CB80A 00004000
82200001 803C42E4
86000001 0000007f
84200001 803C42E4
E0000000 80008000 [/spoiler]
You may have the right address, but you're not adding to the float correctly. That's why you probably aren't seeing what you want to see.
Note that adding 0x7F to a float will only increase the value of the float by 1.7796490496925177e-43, which is practically 0.
Assuming the pointer in r24 doesn't change, you can use this Gecko op to do it. However, if r24 does change, then you'll need to hook the ASM and it gets trickier because you'll want to use fadds and you can't directly load float registers, but you must go through memory first, which requires finding an unused address to build our float in.
283CB80A 00004000 # button activator
80000001 803C42E4 # gr1 = 803C42E4
86910001 3F800000 # [gr1] = fadds [gr1], 1.0
E0000000 80008000
I bolded the bits that I changed.
Can the unused address be after the hooked address?
Is there a fast way to find an unused address?
Can any address which relate to the Y axis be used to make the avatars jump?
If we abuse the architecture a bit, we can create what I've referred to as Small Data Areas in a C2 code...
hook - 80135568: C3B8000C lfs f29,12(r24)
bl SKIP_DATA
.float 1.0
SKIP_DATA:
mflr r12
lfs f0,0(r12)
lfs f29,12(r24)
fadds f29,f29,f0
stfs f29,12(r24)
Compiled, this is
C2135568 00000004
48000009 3F800000
7D8802A6 C00C0000
C3B8000C EFBD002A
D3B8000C 00000000
As it stands now it just adds 1.0. You could do the button activator with anti-code. Or you can use a 4E code to put the address of the 3F800000 into the po, and then you could use a button activator and a 14 code type to over-write the 3F800000 based on whatever button activators.
No luck for lift off, but great lesson!
Here's a different address, The second off the list.
[spoiler] CR:84200022 XER:20000000 CTR:8008986C DSIS:00400000
DAR:804B56D0 SRR0:80088864 SRR1:0000B032 LR:80089E10
r0:00000610 r1:8062ADE0 r2:8061FA20 r3:8062AE7C
r4:804B56CC r5:804B56E4 r6:40490FDB r7:FFFFFFFF
r8:FFFFFFFF r9:8008986C r10:8008986C r11:FFFFFFFF
r12:8008986C r13:8061D200 r14:00000000 r15:00000000
r16:00000000 r17:00000000 r18:00000000 r19:00000000
r20:00000000 r21:00000000 r22:00000000 r23:00000000
r24:00000000 r25:803C0000 r26:803B9F00 r27:803D0000
r28:803D2878 r29:904559A0 r30:904559A0 r31:804B562C
f0:4155F0C0 f1:C3FE257E f2:4155F0C0 f3:442C5618
f4:3F7C1A78 f5:3E32B8C2 f6:BEE4E9EB f7:3F64CB6C
f8:BC936A60 f9:3D038FD3 f10:BF64F11F f11:BEE518EF
f12:3F7FF13B f13:BCADDA67 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:3E014FE6 f30:00000000 f31:00000000[/spoiler]
Here's the function... This is well over my head.
[spoiler]80088864: E0040000 psq_l f0,0(r4),0,0
80088868: E0250000 psq_l f1,0(r5),0,0
8008886C: 1040082A ps_add f2,f0,f1
80088870: E0048008 psq_l f0,8(r4),1,0
80088874: E0258008 psq_l f1,8(r5),1,0
80088878: F0430000 psq_st f2,0(r3),0,0
8008887C: 1040082A ps_add f2,f0,f1
80088880: F0438008 psq_st f2,8(r3),1,0
80088884: 4E800020 blr
[/spoiler]
What does it mean and would this be a better address to use?
[spoiler]I tried something similar here for the floats
bl NO_DATA
.float 1.0
NO_DATA:
mflr r12
lfs f16,0(r12) ----> f14 because all the others have either a constant op or they keep changing
lfs f0,0(r4)
fadds f0,f0,f14
stfs f0,0(r4)
Nothing happens
[/spoiler]
r5 seems to be the register that moves when I move with the 1st and 3rd y axes addresses. In this case, I thought of addi to r5, but this doesn't make the avatar move either...
the previous address DAR 804B56D0
it's f0 and f3 move when I move (they're always the same)
I also figure that it would be something like this for the psq but the asm can't read it...
[spoiler]bl NO_DATA
.float 1.0
NO_DATA:
mflr r12
psq_l f14,0(r12),0,0
psq_l f0,0(r4),0,0
psadd f0,f0,f14
psq_st f0,0(r4),0,0
psq_l f0,0(r4),0,0[/spoiler]
This is what it gives me with a combination of your asm that you gave me
[spoiler]C2088864 00000005
48000009 3F800000
7D8802A6 E1ec0000
E0040000 1000782a
f0040000 E0040000
60000000 00000000[/spoiler]
dcx2, why r28, 0?
I tried it without the r28, 0 which makes the bl 0x4 I wonder if this is wrong.
SOMETHING HAPPENNED!!
OH YEAH!!
[spoiler]C2088864 00000003
7D8802A6 E1ec0000
E0040000 1000782a
f0040000 E0040000[/spoiler]
I took away the bl and r28 and now my avatars are all moving!! LOL but going into the earth instead...
[spoiler]C2088864 00000003
7D8802A6 E1ec0000
E0040000 10007828 ---> makes it sub instead
f0040000 E0040000[/spoiler]
This makes them lift from the ground, doesn't reset the register... when selecting the avatar
and blacks out the screen when in play mode
I didn't find the Y address for the hero but I found the Y address for the game's sprites. the last code that I did works on that address and lifts all sprites!! O0
Y axes
DAR 804B56D0
[spoiler]mflr r12
psq_l f15,0(r12),0,0
psq_l f0,0(r4),0,0
ps_add f0,f0,f15
psq_st f0,0(r4),0,0
nop
[/spoiler]
[spoiler]sprites levitate code
04088888 E0040000
283CB80E 00000008
C2088888 00000004
7D8802A6 E1EC0000
E0040000 1000782a
F0040000 E0040000
60000000 00000000
E0000000 80008000[/spoiler]
I admire your experimentation...but you're a bit lost right now. It's actually somewhat surprising that it works at all.
mflr = Move From Link Register. By removing the bl part, you've made it so mflr is useless. The point of bl was to skip over the data, because you cannot execute data as an ASM instruction. The bl also puts a pointer to the data in the LR, which is why we used mflr. The "r28" thing wasn't an ASM instruction. It was the data that we're trying to add to your Y axis. 3F800000 = 1.0. Which is why there's that line ".float 1.0" in the code. That's the float we're actually adding...the assembler will turn that 1.0 into 3F800000. Or you could put 32.0, and the assembler will figure that out for you too.
1.0 might have been too small. Try recompiling it with, say, 100.0 or 1000.0
Also, your new breakpoint looks like it's in a leaf function that might be called from other places. Which would explain why all the sprites are being affected instead of just one. That's not a good read breakpoint to use...I bet if you change it to an execute breakpoint, you'd have to hit Set Breakpoint multiple times per frame, which means that many people are calling that piece of ASM.
EDIT: Also, because this function is a leaf function that does not back up the LR, we can't use the bl trick here. =( But this is a bad breakpoint for other reasons anyway
EDIT2: We actually *can* use the bl trick, but we have to back up the LR ourselves, and we can use r0 to do that. mflr r0, bl SKIP_DATA, .float, mflr r12, mtlr r0, [your ASM here]
---
After you do all that...look at the 4E code type. http://www.geckocodes.org/index.php?arsenal=1#4E
Use that to put the address of the float in your ASM code into the po.
Then, after the ASM code, you can use several different button activators that use 14 writes to hot-swap different values into the float.
Lol, tell me about it! Thanks for the comment though. let's take the first bp and let's make it the way you're instructing me to.
[spoiler]
4E001000 00000000
C2135568 00000004
48000009 42C80000
7D8802A6 C00C0000
C3B8000C EFBD002A
D3B8000C 00000000
E0000000 80008000
283CB80A 00004000
14[address] 00002000 ---> DAR address 803C42E4? / ASM address 80135568?/ or the bolded one?
E0000000 80008000
this should replace the 4e?[/spoiler]
Closer. Break it down into chunks. You have a C2 code that constantly tries to add 100.0 to 12(r24). That looks good.
C2135568 00000004
48000009 42C80000
7D8802A6 C00C0000
C3B8000C EFBD002A
D3B8000C 00000000
Now, the purpose of the 4E code is to put the address of a code into the po. This allows you to dynamically alter the code in the Wii's memory while the game is running. However, you got the value for the 4E totally wrong. You don't want an X of 0x1000. You want the 4E to point to the float value in the C2 code; that is, 42C80000 in this case. Given that an X of 0 will point at the first word of the next code line (that is, C2135568), and an X of 4 points to the second word (00000004), what value of X will point at the 42C80000?
---
After you get that result...you should get rid of the terminator. You went through all that trouble to use the 4E to get a pointer to the data you wanted to modify in the po...and then you use the terminator to reset the po back to 80000000.
Regarding 14[address], you got this address from the 4E code and put it into po, so the [address] in this case is 0. What you're doing is over-writing 42C80000 with different floats. Over-write with 00000000 to prevent moon jump from working...or over-write with 42C80000 to start adding. The C2 code just adds whatever, and it's the 28/14 codes' job to adjust what the C2 adds.
EDIT: this implies you'll need multiple button activators, by the way
the right value for 4e will be x of 0c c= 12 which is the 4th word
so
Anti Code yes?
4E00000c 00000000
ASM [spoiler]C2135568 00000004
48000009 42C80000
7D8802A6 C00C0000
C3B8000C EFBD002A
D3B8000C 00000000[/spoiler]
Button Activator
1400000c 42c80000
This isn't quite like an anti-code. It doesn't replace the hack with the original instruction. However, we will use it to turn the hack off, by making the "add to Y axis" float a 0 instead of 100.
You got the 4E right. But then you added 0xC again in the 14 code. You don't have to do that. The 4E code already added 0xC to the po.
4E00000C 00000000 # put a pointer to the float in po
C2135568 00000004 # hook that constantly adds float to Y axis
48000009 42C80000
7D8802A6 C00C0000
C3B8000C EFBD002A
D3B8000C 00000000
283CB80A BFFF4000 # if holding C
14000000 42C80000 # make hook add 100.0
E2100001 00000000 # else without updating ba or po
14000000 00000000 # make hook add 0.0
E0000000 80008000 # terminator
EDIT:
it might help to see the code in action. After applying the code, go to Memory Viewer, start at address 80000000, and do a Hex search for C2135568. You should find where all the codes are. Then turn on auto-update, and start pressing buttons. For bonus points, go to the code's address in the Disassembly tab and you'll see the ASM that it's made of. You could even set execute breakpoints on your code's ASM so you can step through it and see what it's doing.
I see, Thank you again!
This is great! I'm glad I've got a genius helping us out!
It doesn't work though... I tried making the float bigger but nothing and I mean float value of 47AFC800 and no movement whatsoever. Wrong address?
searched for C2135568 got 80002998
Registers
[spoiler]CR:48224482 XER:20000000 CTR:80306664 DSIS:00400000
DAR:80002998 SRR0:80001FA0 SRR1:0000B032 LR:80001904
r0:20000000 r1:8062AF48 r2:8061FA20 r3:0000000C
r4:800029A4 r5:00000007 r6:80000000 r7:80001808
r8:00000000 r9:00000030 r10:00000002 r11:00000000
r12:80000000 r13:8061D200 r14:00000003 r15:80002998
r16:800029A4 r17:00000000 r18:00000000 r19:00000000
r20:CC000000 r21:000000FF r22:00000000 r23:00000000
r24:00000000 r25:0000B032 r26:00000004 r27:803D0000
r28:000000FF r29:80001904 r30:803D0000 r31:80000000
f0:00000000 f1:00000000 f2:00000000 f3:00000000
f4:00000000 f5:00000000 f6:00000000 f7:00000000
f8:3E124924 f9:3DBA2E6E f10:3D886B35 f11:3D4BDC9A
f12:3610765F f13:390A99C3 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]
Function
[spoiler]80001FA0: 806F0000 lwz r3,0(r15) :)
80001FA4: 808F0004 lwz r4,4(r15)
80001FA8: 39EF0008 addi r15,r15,8
80001FAC: 71090001 andi. r9,r8,1
80001FB0: 2F890000 cmpwi cr7,r9,0
80001FB4: 39200000 li r9,0
80001FB8: 546A1F7E rlwinm r10,r3,3,29,31
80001FBC: 54653F7E rlwinm r5,r3,7,29,31
80001FC0: 746B1000 andis. r11,r3,4096
80001FC4: 546301FE rlwinm r3,r3,0,7,31
80001FC8: 4082000C bne- 0x80001fd4
80001FCC: 54CC000C rlwinm r12,r6,0,0,6
80001FD0: 48000008 b 0x80001fd8
80001FD4: 7E0C8378 mr r12,r16
80001FD8: 2E050000 cmpwi cr4,r5,0
80001FDC: 2C0A0001 cmpwi r10,1
80001FE0: 41A0002C blt+ 0x8000200c
80001FE4: 41A200E4 beq+ 0x800020c8
80001FE8: 2C0A0003 cmpwi r10,3
80001FEC: 41A001AC blt+ 0x80002198
80001FF0: 41820250 beq- 0x80002240
80001FF4: 2C0A0005 cmpwi r10,5
80001FF8: 418002D4 blt- 0x800022cc
80001FFC: 41A204E0 beq+ 0x800024dc
80002000: 2C0A0007 cmpwi r10,7
80002004: 41A0050C blt+ 0x80002510
80002008: 480005F0 b 0x800025f8
8000200C: 7D8C1A14 add r12,r12,r3
80002010: 2C050003 cmpwi r5,3
80002014: 41820048 beq- 0x8000205c
80002018: 41810060 bgt- 0x80002078
8000201C: 40BEFF84 bne- cr7,0x80001fa0
80002020: 2E050001 cmpwi cr4,r5,1
80002024: 4191002C bgt- cr4,0x80002050
80002028: 548A843E rlwinm r10,r4,16,16,31
8000202C: 41920010 beq- cr4,0x8000203c
80002030: 7C8961AE stbx r4,r9,r12
80002034: 39290001 addi r9,r9,1
80002038: 4800000C b 0x80002044
8000203C: 7C89632E sthx r4,r9,r12
80002040: 39290002 addi r9,r9,2
80002044: 354AFFFF subic. r10,r10,1
80002048: 40A0FFE4 bge- 0x8000202c
8000204C: 4BFFFF54 b 0x80001fa0
80002050: 558C003A rlwinm r12,r12,0,0,29
80002054: 908C0000 stw r4,0(r12)
80002058: 4BFFFF48 b 0x80001fa0
8000205C: 7C892378 mr r9,r4
80002060: 409E04C8 bne- cr7,0x80002528
80002064: 3529FFFF subic. r9,r9,1
80002068: 418004C0 blt- 0x80002528
8000206C: 7CA978AE lbzx r5,r9,r15
80002070: 7CA961AE stbx r5,r9,r12
80002074: 4BFFFFF0 b 0x80002064
80002078: 39EF0008 addi r15,r15,8
8000207C: 40BEFF24 bne- cr7,0x80001fa0
80002080: 80AFFFF8 lwz r5,-8(r15)
80002084: 816FFFFC lwz r11,-4(r15)
80002088: 54B1043E rlwinm r17,r5,0,16,31
8000208C: 54AA853E rlwinm r10,r5,16,20,31
80002090: 54A5273E rlwinm r5,r5,4,28,31
80002094: 2E850001 cmpwi cr5,r5,1
80002098: 41960010 beq- cr5,0x800020a8
8000209C: 41B50014 bgt+ cr5,0x800020b0
800020A0: 7C8961AE stbx r4,r9,r12
800020A4: 48000010 b 0x800020b4
800020A8: 7C89632E sthx r4,r9,r12
800020AC: 48000008 b 0x800020b4
800020B0: 7C89612E stwx r4,r9,r12
800020B4: 7C845A14 add r4,r4,r11
800020B8: 7D298A14 add r9,r9,r17
800020BC: 354AFFFF subic. r10,r10,1
800020C0: 4080FFD4 bge+ 0x80002094
800020C4: 4BFFFEDC b 0x80001fa0
800020C8: 546907FF rlwinm. r9,r3,0,31,31
800020CC: 41820010 beq- 0x800020dc
800020D0: 5508F87E rlwinm r8,r8,31,1,31
800020D4: 71090001 andi. r9,r8,1
800020D8: 2F890000 cmpwi cr7,r9,0
800020DC: 2E850004 cmpwi cr5,r5,4
800020E0: 2D8A0005 cmpwi cr3,r10,5
800020E4: 5108083C rlwimi r8,r8,1,0,30
800020E8: 409E0078 bne- cr7,0x80002160
800020EC: 418D04B8 bgt- cr3,0x800025a4
800020F0: 7D8C1A14 add r12,r12,r3
800020F4: 418C000C blt- cr3,0x80002100
800020F8: 41940030 blt- cr5,0x80002128
800020FC: 4800001C b 0x80002118
80002100: 40940010 bge- cr5,0x80002110
80002104: 558C003A rlwinm r12,r12,0,0,29
80002108: 816C0000 lwz r11,0(r12)
8000210C: 4800001C b 0x80002128
80002110: 558C003C rlwinm r12,r12,0,0,30
80002114: A16C0000 lhz r11,0(r12)
80002118: 7C8920F8 not r9,r4
8000211C: 5529843E rlwinm r9,r9,16,16,31
80002120: 7D6B4838 and r11,r11,r9
80002124: 5484043E rlwinm r4,r4,0,16,31
80002128: 7F0B2040 cmplw cr6,r11,r4
8000212C: 70A90003 andi. r9,r5,3
80002130: 41820018 beq- 0x80002148
80002134: 2C090002 cmpwi r9,2
80002138: 41820018 beq- 0x80002150
8000213C: 4181001C bgt- 0x80002158
80002140: 409A0020 bne- cr6,0x80002160
80002144: 48000018 b 0x8000215c
80002148: 419A0018 beq- cr6,0x80002160
8000214C: 48000010 b 0x8000215c
80002150: 41990010 bgt- cr6,0x80002160
80002154: 48000008 b 0x8000215c
80002158: 41980008 blt- cr6,0x80002160
8000215C: 61080001 ori r8,r8,1
80002160: 408EFE40 bne+ cr3,0x80001fa0
80002164: 4194FE3C blt+ cr5,0x80001fa0
80002168: 816FFFF8 lwz r11,-8(r15)
8000216C: 409E0020 bne- cr7,0x8000218c
80002170: 706C0008 andi. r12,r3,8
80002174: 4182000C beq- 0x80002180
80002178: 710C0001 andi. r12,r8,1
8000217C: 41820010 beq- 0x8000218c
80002180: 398B0010 addi r12,r11,16
80002184: 518B0336 rlwimi r11,r12,0,12,27
80002188: 48000008 b 0x80002190
8000218C: 556B0716 rlwinm r11,r11,0,28,11
80002190: 916FFFF8 stw r11,-8(r15)
80002194: 4BFFFE0C b 0x80001fa0
80002198: 40BEFE08 bne- cr7,0x80001fa0
8000219C: 546916BA rlwinm r9,r3,2,26,29
800021A0: 546E87FE rlwinm r14,r3,16,31,31
800021A4: 2D8E0000 cmpwi cr3,r14,0
800021A8: 2E050004 cmpwi cr4,r5,4
800021AC: 70AE0003 andi. r14,r5,3
800021B0: 2E8E0002 cmpwi cr5,r14,2
800021B4: 41940014 blt- cr5,0x800021c8
800021B8: 41960050 beq- cr5,0x80002208
800021BC: 7C640734 extsh r4,r3
800021C0: 7C847A14 add r4,r4,r15
800021C4: 48000068 b 0x8000222c
800021C8: 5465A7FF rlwinm. r5,r3,20,31,31
800021CC: 4182000C beq- 0x800021d8
800021D0: 7D27482E lwzx r9,r7,r9
800021D4: 7C844A14 add r4,r4,r9
800021D8: 418E0008 beq- cr3,0x800021e0
800021DC: 7C8C2214 add r4,r12,r4
800021E0: 2E8E0001 cmpwi cr5,r14,1
800021E4: 41960008 beq- cr5,0x800021ec
800021E8: 80840000 lwz r4,0(r4)
800021EC: 546367FF rlwinm. r3,r3,12,31,31
800021F0: 4182003C beq- 0x8000222c
800021F4: 4090000C bge- cr4,0x80002200
800021F8: 7C843214 add r4,r4,r6
800021FC: 48000030 b 0x8000222c
80002200: 7C848214 add r4,r4,r16
80002204: 48000028 b 0x8000222c
80002208: 5465A7FF rlwinm. r5,r3,20,31,31
8000220C: 4182000C beq- 0x80002218
80002210: 7D27482E lwzx r9,r7,r9
80002214: 7C844A14 add r4,r4,r9
80002218: 4090000C bge- cr4,0x80002224
8000221C: 7CCC212E stwx r6,r12,r4
80002220: 4BFFFD80 b 0x80001fa0
80002224: 7E0C212E stwx r16,r12,r4
80002228: 4BFFFD78 b 0x80001fa0
8000222C: 4090000C bge- cr4,0x80002238
80002230: 7C862378 mr r6,r4
80002234: 4BFFFD6C b 0x80001fa0
80002238: 7C902378 mr r16,r4
8000223C: 4BFFFD64 b 0x80001fa0
80002240: 54891E78 rlwinm r9,r4,3,25,28
80002244: 39290040 addi r9,r9,64
80002248: 2C050002 cmpwi r5,2
8000224C: 41800048 blt- 0x80002294
80002250: 546B5003 rlwinm. r11,r3,10,0,1
80002254: 41820014 beq- 0x80002268
80002258: 41810008 bgt- 0x80002260
8000225C: 48000010 b 0x8000226c
80002260: 41BEFD40 beq- cr7,0x80001fa0
80002264: 48000008 b 0x8000226c
80002268: 40BEFD38 bne- cr7,0x80001fa0
8000226C: 2C050003 cmpwi r5,3
80002270: 41810010 bgt- 0x80002280
80002274: 41A20010 beq+ 0x80002284
80002278: 7DE7482E lwzx r15,r7,r9
8000227C: 4BFFFD24 b 0x80001fa0
80002280: 7DE7492E stwx r15,r7,r9
80002284: 7C640734 extsh r4,r3
80002288: 54841A78 rlwinm r4,r4,3,9,28
8000228C: 7DEF2214 add r15,r15,r4
80002290: 4BFFFD10 b 0x80001fa0
80002294: 40BEFD0C bne- cr7,0x80001fa0
80002298: 7CA74A14 add r5,r7,r9
8000229C: 40920014 bne- cr4,0x800022b0
800022A0: 5464043E rlwinm r4,r3,0,16,31
800022A4: 91E50000 stw r15,0(r5)
800022A8: 90850004 stw r4,4(r5)
800022AC: 4BFFFCF4 b 0x80001fa0
800022B0: 81250004 lwz r9,4(r5)
800022B4: 2C090000 cmpwi r9,0
800022B8: 41A2FCE8 beq- 0x80001fa0
800022BC: 3929FFFF subi r9,r9,1
800022C0: 91250004 stw r9,4(r5)
800022C4: 81E50000 lwz r15,0(r5)
800022C8: 4BFFFCD8 b 0x80001fa0
800022CC: 40BEFCD4 bne- cr7,0x80001fa0
800022D0: 546B16BA rlwinm r11,r3,2,26,29
800022D4: 7F475A14 add r26,r7,r11
800022D8: 813A0000 lwz r9,0(r26)
800022DC: 546E67BE rlwinm r14,r3,12,30,31
800022E0: 41920084 beq- cr4,0x80002364
800022E4: 2E050005 cmpwi cr4,r5,5
800022E8: 40900174 bge- cr4,0x8000245c
800022EC: 2E050003 cmpwi cr4,r5,3
800022F0: 40900090 bge- cr4,0x80002380
800022F4: 2E050001 cmpwi cr4,r5,1
800022F8: 546587FF rlwinm. r5,r3,16,31,31
800022FC: 41820008 beq- 0x80002304
80002300: 7C8C2214 add r4,r12,r4
80002304: 2F0E0001 cmpwi cr6,r14,1
80002308: 40920024 bne- cr4,0x8000232c
8000230C: 41B90018 bgt+ cr6,0x80002324
80002310: 419A000C beq- cr6,0x8000231c
80002314: 88840000 lbz r4,0(r4)
80002318: 480000F8 b 0x80002410
8000231C: A0840000 lhz r4,0(r4)
80002320: 480000F0 b 0x80002410
80002324: 80840000 lwz r4,0(r4)
80002328: 480000E8 b 0x80002410
8000232C: 5473E53E rlwinm r19,r3,28,20,31
80002330: 41B90020 bgt+ cr6,0x80002350
80002334: 419A0010 beq- cr6,0x80002344
80002338: 99240000 stb r9,0(r4)
8000233C: 38840001 addi r4,r4,1
80002340: 48000018 b 0x80002358
80002344: B1240000 sth r9,0(r4)
80002348: 38840002 addi r4,r4,2
8000234C: 4800000C b 0x80002358
80002350: 91240000 stw r9,0(r4)
80002354: 38840004 addi r4,r4,4
80002358: 3673FFFF subic. r19,r19,1
8000235C: 4080FFD4 bge+ 0x80002330
80002360: 4BFFFC40 b 0x80001fa0
80002364: 546587FF rlwinm. r5,r3,16,31,31
80002368: 41820008 beq- 0x80002370
8000236C: 7C846214 add r4,r4,r12
80002370: 71C50001 andi. r5,r14,1
80002374: 4182009C beq- 0x80002410
80002378: 7C844A14 add r4,r4,r9
8000237C: 48000094 b 0x80002410
80002380: 546A87BE rlwinm r10,r3,16,30,31
80002384: 548E16BA rlwinm r14,r4,2,26,29
80002388: 7E677214 add r19,r7,r14
8000238C: 40920008 bne- cr4,0x80002394
80002390: 3A6FFFFC subi r19,r15,4
80002394: 809A0000 lwz r4,0(r26)
80002398: 81330000 lwz r9,0(r19)
8000239C: 714B0001 andi. r11,r10,1
800023A0: 41820008 beq- 0x800023a8
800023A4: 7C9A2378 mr r26,r4
800023A8: 714B0002 andi. r11,r10,2
800023AC: 41820010 beq- 0x800023bc
800023B0: 7D334B78 mr r19,r9
800023B4: 40B20008 bne+ cr4,0x800023bc
800023B8: 7E6C9A14 add r19,r12,r19
800023BC: 5465673F rlwinm. r5,r3,12,28,31
800023C0: 2C050009 cmpwi r5,9
800023C4: 40800054 bge- 0x80002418
800023C8: 48000079 bl 0x80002440
800023CC: 7C892214 add r4,r9,r4
800023D0: 48000040 b 0x80002410
800023D4: 7C8921D6 mullw r4,r9,r4
800023D8: 48000038 b 0x80002410
800023DC: 7D242378 or r4,r9,r4
800023E0: 48000030 b 0x80002410
800023E4: 7D242038 and r4,r9,r4
800023E8: 48000028 b 0x80002410
800023EC: 7D242278 xor r4,r9,r4
800023F0: 48000020 b 0x80002410
800023F4: 7D242030 slw r4,r9,r4
800023F8: 48000018 b 0x80002410
800023FC: 7D242430 srw r4,r9,r4
80002400: 48000010 b 0x80002410
80002404: 5D24203E rlwnm r4,r9,r4,0,31
80002408: 48000008 b 0x80002410
8000240C: 7D242630 sraw r4,r9,r4
80002410: 909A0000 stw r4,0(r26)
80002414: 4BFFFB8C b 0x80001fa0
80002418: 2C05000A cmpwi r5,10
8000241C: 4181FB84 bgt+ 0x80001fa0
80002420: C05A0000 lfs f2,0(r26)
80002424: C0730000 lfs f3,0(r19)
80002428: 4182000C beq- 0x80002434
8000242C: EC43102A fadds f2,f3,f2
80002430: 48000008 b 0x80002438
80002434: EC4300B2 fmuls f2,f3,f2
80002438: D05A0000 stfs f2,0(r26)
8000243C: 4BFFFB64 b 0x80001fa0
80002440: 7D4802A6 mflr r10
80002444: 54A51E78 rlwinm r5,r5,3,25,28
80002448: 7D4A2A14 add r10,r10,r5
8000244C: 809A0000 lwz r4,0(r26)
80002450: 81330000 lwz r9,0(r19)
80002454: 7D4803A6 mtlr r10
80002458: 4E800020 blr
[/spoiler]
I've decided to go with another address.
I've checked the values when I broke with the last one and nothing changes when I've moved location
I've checked out this address 804B56D0
This changes when I move at r5 and f4
[spoiler]CR:42200022 XER:20000000 CTR:8008986C DSIS:00400000
DAR:804B56DC SRR0:80089E48 SRR1:0000B032 LR:80089E10
r0:00000400 r1:8062ADE0 r2:8061FA20 r3:8062ADF8
r4:8062ADF4 r5:C54079EA r6:40490FDB r7:FFFFFFFF
r8:FFFFFFFF r9:8008986C r10:8008986C r11:FFFFFFFF
r12:8008986C r13:8061D200 r14:00000000 r15:00000000
r16:00000000 r17:00000000 r18:00000000 r19:00000000
r20:00000000 r21:00000000 r22:00000000 r23:00000000
r24:00000000 r25:803C0000 r26:803B9F00 r27:803D0000
r28:803D2878 r29:904559A0 r30:904559A0 r31:804B562C
f0:4222F983 f1:42A00000 f2:40490FDB f3:3F800000
f4:43869D0C f5:3E32B8C2 f6:3F71C2A0 f7:BEA8614E
f8:00000000 f9:00000000 f10:3EA8614E f11:3F71C2A0
f12:3F71C2A0 f13:BEA8614E 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]
Exceeds the maximum allowed length
[spoiler]8008986C: 9421FE90 stwu r1,-368(r1)
80089870: 7C0802A6 mflr r0
80089874: 90010174 stw r0,372(r1)
80089878: DBE10160 stfd f31,352(r1)
8008987C: F3E10168 psq_st f31,360(r1),0,0
80089880: 93E1015C stw r31,348(r1)
80089884: 7C7F1B78 mr r31,r3
80089888: A0A300DE lhz r5,222(r3)
8008988C: 2C050001 cmpwi r5,1
80089890: 41820078 beq- 0x80089908
80089894: 40800010 bge- 0x800898a4
80089898: 2C050000 cmpwi r5,0
8008989C: 40800014 bge- 0x800898b0
800898A0: 480008B8 b 0x8008a158
800898A4: 2C050003 cmpwi r5,3
800898A8: 408008B0 bge- 0x8008a158
800898AC: 48000068 b 0x80089914
800898B0: A00300D8 lhz r0,216(r3)
800898B4: 3CC08038 lis r6,-32712
800898B8: A08300DA lhz r4,218(r3)
800898BC: 38C6DA28 subi r6,r6,9688
800898C0: 1CE000A0 mulli r7,r0,160
800898C4: 38050001 addi r0,r5,1
800898C8: 54852834 rlwinm r5,r4,5,0,26
800898CC: 7C863A14 add r4,r6,r7
800898D0: 7C05242E lfsx f0,r5,r4
800898D4: 7C852214 add r4,r5,r4
800898D8: D0030048 stfs f0,72(r3)
800898DC: C004000C lfs f0,12(r4)
800898E0: D00300B8 stfs f0,184(r3)
800898E4: C0040010 lfs f0,16(r4)
800898E8: D00300BC stfs f0,188(r3)
800898EC: C0040014 lfs f0,20(r4)
800898F0: D00300C0 stfs f0,192(r3)
800898F4: C0040018 lfs f0,24(r4)
800898F8: D00300C8 stfs f0,200(r3)
800898FC: C004001C lfs f0,28(r4)
80089900: D00300E0 stfs f0,224(r3)
80089904: B00300DE sth r0,222(r3)
80089908: A08300DE lhz r4,222(r3)
8008990C: 38040001 addi r0,r4,1
80089910: B00300DE sth r0,222(r3)
80089914: 8003007C lwz r0,124(r3)
80089918: 2C000000 cmpwi r0,0
8008991C: 40820060 bne- 0x8008997c
80089920: A08300D8 lhz r4,216(r3)
80089924: 3CA08038 lis r5,-32712
80089928: A00300DA lhz r0,218(r3)
8008992C: 38A5DA28 subi r5,r5,9688
80089930: 1CC400A0 mulli r6,r4,160
80089934: 54042834 rlwinm r4,r0,5,0,26
80089938: 7C053214 add r0,r5,r6
8008993C: 7C04046E lfsux f0,r4,r0
80089940: D0030048 stfs f0,72(r3)
80089944: C0040004 lfs f0,4(r4)
80089948: D003004C stfs f0,76(r3)
8008994C: C0040008 lfs f0,8(r4)
80089950: D0030050 stfs f0,80(r3)
80089954: C004000C lfs f0,12(r4)
80089958: D00300B8 stfs f0,184(r3)
8008995C: C0040010 lfs f0,16(r4)
80089960: D00300BC stfs f0,188(r3)
80089964: C0040014 lfs f0,20(r4)
80089968: D00300C0 stfs f0,192(r3)
8008996C: C0040018 lfs f0,24(r4)
80089970: D00300C8 stfs f0,200(r3)
80089974: C004001C lfs f0,28(r4)
80089978: D00300E0 stfs f0,224(r3)
8008997C: 80030078 lwz r0,120(r3)
80089980: 540007BD rlwinm. r0,r0,0,30,30
80089984: 41820078 beq- 0x800899fc
80089988: 80C300D0 lwz r6,208(r3)
8008998C: 3CA0AAAB lis r5,-21845
80089990: A00300D8 lhz r0,216(r3)
80089994: 3C808038 lis r4,-32712
80089998: 38C60001 addi r6,r6,1
8008999C: 38A5AAAB subi r5,r5,21845
800899A0: 7CA53016 mulhwu r5,r5,r6
800899A4: 3884DA28 subi r4,r4,9688
800899A8: 1C0000A0 mulli r0,r0,160
800899AC: 54A5F87E rlwinm r5,r5,31,1,31
800899B0: 1CA50003 mulli r5,r5,3
800899B4: 7C040214 add r0,r4,r0
800899B8: 7CA53050 sub r5,r6,r5
800899BC: 54A42834 rlwinm r4,r5,5,0,26
800899C0: 90A300D0 stw r5,208(r3)
800899C4: 7CC40214 add r6,r4,r0
800899C8: B0A300DA sth r5,218(r3)
800899CC: 7C04042E lfsx f0,r4,r0
800899D0: D0030048 stfs f0,72(r3)
800899D4: C006000C lfs f0,12(r6)
800899D8: D00300B8 stfs f0,184(r3)
800899DC: C0060010 lfs f0,16(r6)
800899E0: D00300BC stfs f0,188(r3)
800899E4: C0060014 lfs f0,20(r6)
800899E8: D00300C0 stfs f0,192(r3)
800899EC: C0060018 lfs f0,24(r6)
800899F0: D00300C8 stfs f0,200(r3)
800899F4: C006001C lfs f0,28(r6)
800899F8: D00300CC stfs f0,204(r3)
800899FC: 80030078 lwz r0,120(r3)
80089A00: 540007FF rlwinm. r0,r0,0,31,31
80089A04: 41820014 beq- 0x80089a18
80089A08: C0228A04 lfs f1,-30204(r2)
80089A0C: C00300C4 lfs f0,196(r3)
80089A10: EC01002A fadds f0,f1,f0
80089A14: D003004C stfs f0,76(r3)
80089A18: 80830078 lwz r4,120(r3)
80089A1C: 54800739 rlwinm. r0,r4,0,28,28
80089A20: 418200C8 beq- 0x80089ae8
80089A24: 880D985C lbz r0,-26532(r13)
80089A28: 2C000000 cmpwi r0,0
80089A2C: 4182000C beq- 0x80089a38
80089A30: C3E289E0 lfs f31,-30240(r2)
80089A34: 48000010 b 0x80089a44
80089A38: 3C60803D lis r3,-32707
80089A3C: 3863B808 subi r3,r3,18424
80089A40: C3E30890 lfs f31,2192(r3)
80089A44: 880D9740 lbz r0,-26816(r13)
80089A48: 7C000775 extsb. r0,r0
80089A4C: 40820018 bne- 0x80089a64
80089A50: 3C60803C lis r3,-32708
80089A54: 38639F00 subi r3,r3,24832
80089A58: 4BFAACE1 bl 0x80034738
80089A5C: 38000001 li r0,1
80089A60: 980D9740 stb r0,-26816(r13)
80089A64: C0228A08 lfs f1,-30200(r2)
80089A68: 3C60803C lis r3,-32708
80089A6C: 38639F00 subi r3,r3,24832
80089A70: C01F004C lfs f0,76(r31)
80089A74: EC3F0072 fmuls f1,f31,f1
80089A78: C0434204 lfs f2,16900(r3)
80089A7C: EC0100BC fnmsubs f0,f1,f2,f0
80089A80: D01F004C stfs f0,76(r31)
80089A84: 880D985C lbz r0,-26532(r13)
80089A88: 2C000000 cmpwi r0,0
80089A8C: 4182000C beq- 0x80089a98
80089A90: C3E289E0 lfs f31,-30240(r2)
80089A94: 48000010 b 0x80089aa4
80089A98: 3C60803D lis r3,-32707
80089A9C: 3863B808 subi r3,r3,18424
80089AA0: C3E30894 lfs f31,2196(r3)
80089AA4: 880D9740 lbz r0,-26816(r13)
80089AA8: 7C000775 extsb. r0,r0
80089AAC: 40820018 bne- 0x80089ac4
80089AB0: 3C60803C lis r3,-32708
80089AB4: 38639F00 subi r3,r3,24832
80089AB8: 4BFAAC81 bl 0x80034738
80089ABC: 38000001 li r0,1
80089AC0: 980D9740 stb r0,-26816(r13)
80089AC4: C0228A08 lfs f1,-30200(r2)
80089AC8: 3C60803C lis r3,-32708
80089ACC: 38639F00 subi r3,r3,24832
80089AD0: C01F0048 lfs f0,72(r31)
80089AD4: EC3F0072 fmuls f1,f31,f1
80089AD8: C0434204 lfs f2,16900(r3)
80089ADC: EC0100BC fnmsubs f0,f1,f2,f0
80089AE0: D01F0048 stfs f0,72(r31)
80089AE4: 480001C4 b 0x80089ca8
80089AE8: 5480077B rlwinm. r0,r4,0,29,29
80089AEC: 408201BC bne- 0x80089ca8
80089AF0: 800300D4 lwz r0,212(r3)
80089AF4: 540007FF rlwinm. r0,r0,0,31,31
80089AF8: 41820074 beq- 0x80089b6c
80089AFC: 880D9740 lbz r0,-26816(r13)
80089B00: 7C000775 extsb. r0,r0
80089B04: 40820018 bne- 0x80089b1c
80089B08: 3C60803C lis r3,-32708
80089B0C: 38639F00 subi r3,r3,24832
80089B10: 4BFAAC29 bl 0x80034738
80089B14: 38000001 li r0,1
80089B18: 980D9740 stb r0,-26816(r13)
80089B1C: 801F0080 lwz r0,128(r31)
80089B20: 3C80803C lis r4,-32708
80089B24: 38849F00 subi r4,r4,24832
80089B28: 38600001 li r3,1
80089B2C: 2C000000 cmpwi r0,0
80089B30: C0244204 lfs f1,16900(r4)
80089B34: 41820008 beq- 0x80089b3c
80089B38: 3860FFFF li r3,-1
80089B3C: 6C638000 xoris r3,r3,32768
80089B40: 3C004330 lis r0,17200
80089B44: 90610144 stw r3,324(r1)
80089B48: C01F00FC lfs f0,252(r31)
80089B4C: 90010140 stw r0,320(r1)
80089B50: C8628A48 lfd f3,-30136(r2)
80089B54: EC200072 fmuls f1,f0,f1
80089B58: C8410140 lfd f2,320(r1)
80089B5C: C01F004C lfs f0,76(r31)
80089B60: EC421828 fsubs f2,f2,f3
80089B64: EC02007C fnmsubs f0,f2,f1,f0
80089B68: D01F004C stfs f0,76(r31)
80089B6C: 801F00D4 lwz r0,212(r31)
80089B70: 540007BD rlwinm. r0,r0,0,30,30
80089B74: 41820074 beq- 0x80089be8
80089B78: 880D9740 lbz r0,-26816(r13)
80089B7C: 7C000775 extsb. r0,r0
80089B80: 40820018 bne- 0x80089b98
80089B84: 3C60803C lis r3,-32708
80089B88: 38639F00 subi r3,r3,24832
80089B8C: 4BFAABAD bl 0x80034738
80089B90: 38000001 li r0,1
80089B94: 980D9740 stb r0,-26816(r13)
80089B98: 801F0080 lwz r0,128(r31)
80089B9C: 3C80803C lis r4,-32708
80089BA0: 38849F00 subi r4,r4,24832
80089BA4: 38600001 li r3,1
80089BA8: 2C000000 cmpwi r0,0
80089BAC: C0244204 lfs f1,16900(r4)
80089BB0: 41820008 beq- 0x80089bb8
80089BB4: 3860FFFF li r3,-1
80089BB8: 6C638000 xoris r3,r3,32768
80089BBC: 3C004330 lis r0,17200
80089BC0: 90610144 stw r3,324(r1)
80089BC4: C01F00FC lfs f0,252(r31)
80089BC8: 90010140 stw r0,320(r1)
80089BCC: C8628A48 lfd f3,-30136(r2)
80089BD0: EC200072 fmuls f1,f0,f1
80089BD4: C8410140 lfd f2,320(r1)
80089BD8: C01F004C lfs f0,76(r31)
80089BDC: EC421828 fsubs f2,f2,f3
80089BE0: EC02007A fmadds f0,f2,f1,f0
80089BE4: D01F004C stfs f0,76(r31)
80089BE8: 880D985C lbz r0,-26532(r13)
80089BEC: 2C000000 cmpwi r0,0
80089BF0: 4182000C beq- 0x80089bfc
80089BF4: C3E289E0 lfs f31,-30240(r2)
80089BF8: 48000010 b 0x80089c08
80089BFC: 3C60803D lis r3,-32707
80089C00: 3863B808 subi r3,r3,18424
80089C04: C3E30898 lfs f31,2200(r3)
80089C08: 880D9740 lbz r0,-26816(r13)
80089C0C: 7C000775 extsb. r0,r0
80089C10: 40820018 bne- 0x80089c28
80089C14: 3C60803C lis r3,-32708
80089C18: 38639F00 subi r3,r3,24832
80089C1C: 4BFAAB1D bl 0x80034738
80089C20: 38000001 li r0,1
80089C24: 980D9740 stb r0,-26816(r13)
80089C28: C0228A0C lfs f1,-30196(r2)
80089C2C: 3C60803C lis r3,-32708
80089C30: 38639F00 subi r3,r3,24832
80089C34: C01F004C lfs f0,76(r31)
80089C38: EC3F0824 fdivs f1,f31,f1
80089C3C: C0434204 lfs f2,16900(r3)
80089C40: EC0100BC fnmsubs f0,f1,f2,f0
80089C44: D01F004C stfs f0,76(r31)
80089C48: 880D985C lbz r0,-26532(r13)
80089C4C: 2C000000 cmpwi r0,0
80089C50: 4182000C beq- 0x80089c5c
80089C54: C3E289E0 lfs f31,-30240(r2)
80089C58: 48000010 b 0x80089c68
80089C5C: 3C60803D lis r3,-32707
80089C60: 3863B808 subi r3,r3,18424
80089C64: C3E3089C lfs f31,2204(r3)
80089C68: 880D9740 lbz r0,-26816(r13)
80089C6C: 7C000775 extsb. r0,r0
80089C70: 40820018 bne- 0x80089c88
80089C74: 3C60803C lis r3,-32708
80089C78: 38639F00 subi r3,r3,24832
80089C7C: 4BFAAABD bl 0x80034738
80089C80: 38000001 li r0,1
80089C84: 980D9740 stb r0,-26816(r13)
80089C88: C0228A0C lfs f1,-30196(r2)
80089C8C: 3C60803C lis r3,-32708
80089C90: 38639F00 subi r3,r3,24832
80089C94: C01F0048 lfs f0,72(r31)
80089C98: EC3F0824 fdivs f1,f31,f1
80089C9C: C0434204 lfs f2,16900(r3)
80089CA0: EC0100BC fnmsubs f0,f1,f2,f0
80089CA4: D01F0048 stfs f0,72(r31)
80089CA8: 801F0078 lwz r0,120(r31)
80089CAC: 54000739 rlwinm. r0,r0,0,28,28
80089CB0: 4182000C beq- 0x80089cbc
80089CB4: C0A28A10 lfs f5,-30192(r2)
80089CB8: 48000008 b 0x80089cc0
80089CBC: C0A28A14 lfs f5,-30188(r2)
80089CC0: C01F0048 lfs f0,72(r31)
80089CC4: FC002840 fcmpo cr0,f0,f5
80089CC8: 40810008 ble- 0x80089cd0
80089CCC: 48000018 b 0x80089ce4
80089CD0: FCA02850 fneg f5,f5
80089CD4: FC002840 fcmpo cr0,f0,f5
80089CD8: 40800008 bge- 0x80089ce0
80089CDC: 48000008 b 0x80089ce4
80089CE0: FCA00090 fmr f5,f0
80089CE4: C09F004C lfs f4,76(r31)
80089CE8: 3C004330 lis r0,17200
80089CEC: 80C280A8 lwz r6,-32600(r2)
80089CF0: FC202818 frsp f1,f5
80089CF4: D081000C stfs f4,12(r1)
80089CF8: 3861002C addi r3,r1,44
80089CFC: C0028A1C lfs f0,-30180(r2)
80089D00: 38810024 addi r4,r1,36
80089D04: 80A1000C lwz r5,12(r1)
80089D08: 90010148 stw r0,328(r1)
80089D0C: EC200072 fmuls f1,f0,f1
80089D10: 54A50000 rlwinm r5,r5,0,0,0
80089D14: C0628A18 lfs f3,-30184(r2)
80089D18: 7CC02B78 or r0,r6,r5
80089D1C: C8428A48 lfd f2,-30136(r2)
80089D20: 90010008 stw r0,8(r1)
80089D24: C0010008 lfs f0,8(r1)
80089D28: D0BF0048 stfs f5,72(r31)
80089D2C: EC04002A fadds f0,f4,f0
80089D30: EC001824 fdivs f0,f0,f3
80089D34: FC00001E fctiwz f0,f0
80089D38: D8010140 stfd f0,320(r1)
80089D3C: 80010144 lwz r0,324(r1)
80089D40: 6C008000 xoris r0,r0,32768
80089D44: 9001014C stw r0,332(r1)
80089D48: C8010148 lfd f0,328(r1)
80089D4C: EC001028 fsubs f0,f0,f2
80089D50: EC03203C fnmsubs f0,f3,f0,f4
80089D54: D01F004C stfs f0,76(r31)
80089D58: 4825A175 bl 0x802e3ecc
80089D5C: C03F004C lfs f1,76(r31)
80089D60: 38610028 addi r3,r1,40
80089D64: C0028A1C lfs f0,-30180(r2)
80089D68: 38810020 addi r4,r1,32
80089D6C: EC200072 fmuls f1,f0,f1
80089D70: 4825A15D bl 0x802e3ecc
80089D74: C01F00C8 lfs f0,200(r31)
80089D78: 386100B4 addi r3,r1,180
80089D7C: C0810024 lfs f4,36(r1)
80089D80: 388100FC addi r4,r1,252
80089D84: C0410028 lfs f2,40(r1)
80089D88: 38BF00B8 addi r5,r31,184
80089D8C: EC600132 fmuls f3,f0,f4
80089D90: C021002C lfs f1,44(r1)
80089D94: C0010020 lfs f0,32(r1)
80089D98: EC4200F2 fmuls f2,f2,f3
80089D9C: D04100FC stfs f2,252(r1)
80089DA0: C05F00C8 lfs f2,200(r31)
80089DA4: EC220072 fmuls f1,f2,f1
80089DA8: D0210100 stfs f1,256(r1)
80089DAC: C03F00C8 lfs f1,200(r31)
80089DB0: EC210132 fmuls f1,f1,f4
80089DB4: EC000072 fmuls f0,f0,f1
80089DB8: D0010104 stfs f0,260(r1)
80089DBC: 4BFFEAA9 bl 0x80088864
80089DC0: C00100B4 lfs f0,180(r1)
80089DC4: 386100A8 addi r3,r1,168
80089DC8: 389F00AC addi r4,r31,172
80089DCC: 38BF00F0 addi r5,r31,240
80089DD0: D01F00F0 stfs f0,240(r31)
80089DD4: C00100B8 lfs f0,184(r1)
80089DD8: D01F00F4 stfs f0,244(r31)
80089DDC: C00100BC lfs f0,188(r1)
80089DE0: D01F00F8 stfs f0,248(r31)
80089DE4: 4BFFEA81 bl 0x80088864
80089DE8: C00100A8 lfs f0,168(r1)
80089DEC: 3861009C addi r3,r1,156
80089DF0: 389F00A0 addi r4,r31,160
80089DF4: 38BF00B8 addi r5,r31,184
80089DF8: D01F0088 stfs f0,136(r31)
80089DFC: C00100AC lfs f0,172(r1)
80089E00: D01F008C stfs f0,140(r31)
80089E04: C00100B0 lfs f0,176(r1)
80089E08: D01F0090 stfs f0,144(r31)
80089E0C: 4BFFEA59 bl 0x80088864
80089E10: C001009C lfs f0,156(r1)
80089E14: 38610018 addi r3,r1,24
80089E18: C0628A20 lfs f3,-30176(r2)
80089E1C: 38810014 addi r4,r1,20
80089E20: D01F0094 stfs f0,148(r31)
80089E24: C0228A24 lfs f1,-30172(r2)
80089E28: C00100A0 lfs f0,160(r1)
80089E2C: C0428A04 lfs f2,-30204(r2)
80089E30: D01F0098 stfs f0,152(r31)
80089E34: C0028A1C lfs f0,-30180(r2)
80089E38: C08100A4 lfs f4,164(r1)
80089E3C: D09F009C stfs f4,156(r31)
80089E40: D061001C stfs f3,28(r1)
80089E44: 80BF00AC lwz r5,172(r31)
[spoiler]
80089E48: 801F00B0 lwz r0,176(r31)
80089E4C: 90A100D8 stw r5,216(r1)
80089E50: 900100DC stw r0,220(r1)
80089E54: C06100D8 lfs f3,216(r1)
80089E58: 801F00B4 lwz r0,180(r31)
80089E5C: C08100DC lfs f4,220(r1)
80089E60: 900100E0 stw r0,224(r1)
80089E64: EC84082A fadds f4,f4,f1
80089E68: C02100E0 lfs f1,224(r1)
80089E6C: D06100CC stfs f3,204(r1)
80089E70: D08100DC stfs f4,220(r1)
80089E74: D08100D0 stfs f4,208(r1)
80089E78: D02100D4 stfs f1,212(r1)
80089E7C: C03F004C lfs f1,76(r31)
80089E80: EC22082A fadds f1,f2,f1
80089E84: EC200072 fmuls f1,f0,f1
80089E88: 4825A045 bl 0x802e3ecc
80089E8C: C0828A28 lfs f4,-30168(r2)
80089E90: 3C60803C lis r3,-32708
80089E94: C0410018 lfs f2,24(r1)
80089E98: 38632D40 addi r3,r3,11584
80089E9C: C02100D8 lfs f1,216(r1)
80089EA0: 38000000 li r0,0
80089EA4: C0028A20 lfs f0,-30176(r2)
80089EA8: 388100CC addi r4,r1,204
80089EAC: EC6408BA fmadds f3,f4,f2,f1
80089EB0: C0410014 lfs f2,20(r1)
80089EB4: C02100E0 lfs f1,224(r1)
80089EB8: 38A100D8 addi r5,r1,216
80089EBC: D001001C stfs f0,28(r1)
80089EC0: 3901001C addi r8,r1,28
80089EC4: EC0408BA fmadds f0,f4,f2,f1
80089EC8: D06100D8 stfs f3,216(r1)
80089ECC: 80630038 lwz r3,56(r3)
80089ED0: 39210108 addi r9,r1,264
80089ED4: 90010138 stw r0,312(r1)
80089ED8: 38C0000F li r6,15
80089EDC: D00100E0 stfs f0,224(r1)
80089EE0: 38E00002 li r7,2
80089EE4: 4BF85DFD bl 0x8000fce0
80089EE8: 2C030000 cmpwi r3,0
80089EEC: 41820050 beq- 0x80089f3c
80089EF0: C02289E0 lfs f1,-30240(r2)
80089EF4: 386100E4 addi r3,r1,228
80089EF8: C0028A20 lfs f0,-30176(r2)
80089EFC: 3881012C addi r4,r1,300
80089F00: D0210090 stfs f1,144(r1)
80089F04: D0010094 stfs f0,148(r1)
80089F08: D0210098 stfs f1,152(r1)
80089F0C: D02100E4 stfs f1,228(r1)
80089F10: D00100E8 stfs f0,232(r1)
80089F14: D02100EC stfs f1,236(r1)
80089F18: 4BFFE9DD bl 0x800888f4
80089F1C: C0028A2C lfs f0,-30164(r2)
80089F20: C0428A34 lfs f2,-30156(r2)
80089F24: EC600828 fsubs f3,f0,f1
80089F28: C0228A30 lfs f1,-30160(r2)
80089F2C: C01F008C lfs f0,140(r31)
80089F30: EC4200F2 fmuls f2,f2,f3
80089F34: EC0100BC fnmsubs f0,f1,f2,f0
80089F38: D01F008C stfs f0,140(r31)
80089F3C: 387F0094 addi r3,r31,148
80089F40: 389F0088 addi r4,r31,136
80089F44: 38A1001C addi r5,r1,28
80089F48: 38C100C0 addi r6,r1,192
80089F4C: 4BF99509 bl 0x80023454
80089F50: 2C030000 cmpwi r3,0
80089F54: 418200D4 beq- 0x8008a028
80089F58: C03F0100 lfs f1,256(r31)
80089F5C: 386100E4 addi r3,r1,228
80089F60: 388100C0 addi r4,r1,192
80089F64: 4BFFE949 bl 0x800888ac
80089F68: C3E1001C lfs f31,28(r1)
80089F6C: 3861006C addi r3,r1,108
80089F70: 389F0088 addi r4,r31,136
80089F74: 38BF0094 addi r5,r31,148
80089F78: 4BFFE911 bl 0x80088888
80089F7C: FC20F890 fmr f1,f31
80089F80: 38610078 addi r3,r1,120
80089F84: 3881006C addi r4,r1,108
80089F88: 4BFFE925 bl 0x800888ac
80089F8C: 38610084 addi r3,r1,132
80089F90: 389F0094 addi r4,r31,148
80089F94: 38A10078 addi r5,r1,120
80089F98: 4BFFE8CD bl 0x80088864
80089F9C: C0410084 lfs f2,132(r1)
80089FA0: 38610060 addi r3,r1,96
80089FA4: C0210088 lfs f1,136(r1)
80089FA8: 388100F0 addi r4,r1,240
80089FAC: C001008C lfs f0,140(r1)
80089FB0: 38A100E4 addi r5,r1,228
80089FB4: D04100F0 stfs f2,240(r1)
80089FB8: D02100F4 stfs f1,244(r1)
80089FBC: D00100F8 stfs f0,248(r1)
80089FC0: 4BFFE8A5 bl 0x80088864
80089FC4: C0010060 lfs f0,96(r1)
80089FC8: 38610054 addi r3,r1,84
80089FCC: 389F0094 addi r4,r31,148
80089FD0: 38BF0088 addi r5,r31,136
80089FD4: D01F0088 stfs f0,136(r31)
80089FD8: C0010064 lfs f0,100(r1)
80089FDC: D01F008C stfs f0,140(r31)
80089FE0: C0010068 lfs f0,104(r1)
80089FE4: D01F0090 stfs f0,144(r31)
80089FE8: 4BFFE8A1 bl 0x80088888
80089FEC: C0410054 lfs f2,84(r1)
80089FF0: 386100F0 addi r3,r1,240
80089FF4: C0210058 lfs f1,88(r1)
80089FF8: C001005C lfs f0,92(r1)
80089FFC: D04100F0 stfs f2,240(r1)
8008A000: D02100F4 stfs f1,244(r1)
8008A004: D00100F8 stfs f0,248(r1)
8008A008: 48157561 bl 0x801e1568
8008A00C: C0028A38 lfs f0,-30152(r2)
8008A010: FC010040 fcmpo cr0,f1,f0
8008A014: 40800014 bge- 0x8008a028
8008A018: EC200828 fsubs f1,f0,f1
8008A01C: C01F008C lfs f0,140(r31)
8008A020: EC00082A fadds f0,f0,f1
8008A024: D01F008C stfs f0,140(r31)
8008A028: 801F007C lwz r0,124(r31)
8008A02C: 2C000000 cmpwi r0,0
8008A030: 41820094 beq- 0x8008a0c4
8008A034: C01F0088 lfs f0,136(r31)
8008A038: 3861003C addi r3,r1,60
8008A03C: C0BF0008 lfs f5,8(r31)
8008A040: 389F0094 addi r4,r31,148
8008A044: C03F008C lfs f1,140(r31)
8008A048: 38A10030 addi r5,r1,48
8008A04C: C09F000C lfs f4,12(r31)
8008A050: EC402828 fsubs f2,f0,f5
8008A054: C0C28A3C lfs f6,-30148(r2)
8008A058: EC612028 fsubs f3,f1,f4
8008A05C: C01F0090 lfs f0,144(r31)
8008A060: ECA628BA fmadds f5,f6,f2,f5
8008A064: C03F0010 lfs f1,16(r31)
8008A068: C04289F0 lfs f2,-30224(r2)
8008A06C: EC000828 fsubs f0,f0,f1
8008A070: EC4220FA fmadds f2,f2,f3,f4
8008A074: 80DF002C lwz r6,44(r31)
8008A078: D0BF0008 stfs f5,8(r31)
8008A07C: EC06083A fmadds f0,f6,f0,f1
8008A080: 801F0030 lwz r0,48(r31)
8008A084: D05F000C stfs f2,12(r31)
8008A088: D01F0010 stfs f0,16(r31)
8008A08C: 90C10030 stw r6,48(r1)
8008A090: 90010034 stw r0,52(r1)
8008A094: 801F0034 lwz r0,52(r31)
8008A098: 90010038 stw r0,56(r1)
8008A09C: 4BFFE7ED bl 0x80088888
8008A0A0: C0228A3C lfs f1,-30148(r2)
8008A0A4: 38610048 addi r3,r1,72
8008A0A8: 3881003C addi r4,r1,60
8008A0AC: 4BFFE801 bl 0x800888ac
8008A0B0: 387F002C addi r3,r31,44
8008A0B4: 38A10048 addi r5,r1,72
8008A0B8: 7C641B78 mr r4,r3
8008A0BC: 4BFFE7A9 bl 0x80088864
8008A0C0: 48000034 b 0x8008a0f4
8008A0C4: C0BF0088 lfs f5,136(r31)
8008A0C8: C09F008C lfs f4,140(r31)
8008A0CC: C07F0090 lfs f3,144(r31)
8008A0D0: C05F0094 lfs f2,148(r31)
8008A0D4: C03F0098 lfs f1,152(r31)
8008A0D8: C01F009C lfs f0,156(r31)
8008A0DC: D0BF0008 stfs f5,8(r31)
8008A0E0: D09F000C stfs f4,12(r31)
8008A0E4: D07F0010 stfs f3,16(r31)
8008A0E8: D05F002C stfs f2,44(r31)
8008A0EC: D03F0030 stfs f1,48(r31)
8008A0F0: D01F0034 stfs f0,52(r31)
8008A0F4: 3C60803C lis r3,-32708
8008A0F8: C0228A40 lfs f1,-30144(r2)
8008A0FC: 38632D40 addi r3,r3,11584
8008A100: 389F0008 addi r4,r31,8
8008A104: 80630038 lwz r3,56(r3)
8008A108: 38A10010 addi r5,r1,16
8008A10C: 38C00000 li r6,0
8008A110: 38E00000 li r7,0
8008A114: 39000000 li r8,0
8008A118: 39200000 li r9,0
8008A11C: 39400000 li r10,0
8008A120: 4BF85435 bl 0x8000f554
8008A124: 2C030000 cmpwi r3,0
8008A128: 41820030 beq- 0x8008a158
8008A12C: C05F000C lfs f2,12(r31)
8008A130: C0210010 lfs f1,16(r1)
8008A134: C0028A44 lfs f0,-30140(r2)
8008A138: EC220828 fsubs f1,f2,f1
8008A13C: FC600A10 fabs f3,f1
8008A140: FC030040 fcmpo cr0,f3,f0
8008A144: 40800014 bge- 0x8008a158
8008A148: EC000828 fsubs f0,f0,f1
8008A14C: EC02002A fadds f0,f2,f0
8008A150: D01F000C stfs f0,12(r31)
8008A154: D01F008C stfs f0,140(r31)
8008A158: E3E10168 psq_l f31,360(r1),0,0
8008A15C: 80010174 lwz r0,372(r1)
8008A160: CBE10160 lfd f31,352(r1)
8008A164: 83E1015C lwz r31,348(r1)
8008A168: 7C0803A6 mtlr r0
8008A16C: 38210170 addi r1,r1,368
8008A170: 4E800020 blr
[/spoiler]
I'm now thinking of changing r5 or the floats...
I could change the floats like you taught me, but am I better to change the register instead?
The r5 and f4 start at the initial location (locA)of the avatar ( when he portals from one place to another town vice verso)
Grows bigger when I'm away from locA, even though that this is Y axis address.
No special value ex:+2x0001 indicating change of Y at r5 or f4...
I checked the leaf address, and it does the same thing. So, If I can figure which address I should hook for the float to I think I can make this work!
You weren't supposed to breakpoint on C2135568. That's your code in the Wii's memory! The breakpoint you hit is the code handler reading your C2.
You were supposed to go into Memory Viewer, check auto-update, and look at the code while you press the C key. Then you would see the value that's changing as you press buttons. Then you were supposed to switch to Disassembly and note that the ASM you see is the exact same ASM in your C2 code. That was to reinforce that what you're looking at is your actual code in the Wii's memory.
---
Your last post mentions "leaf address". That's not right. A "leaf function" is one that doesn't call other functions; i.e. it won't have a bl of it's own.
---
Before using breakpoints you must make absolutely sure you have the right data address. If you don't have the right data address you will go on a wild goose chase.
You can double check that you found the right data. Go into Memory Viewer and check auto-update (do you see a pattern? Seriously, use auto-update frequently). You should probably set View Mode to Single so you can see floats. Then run around in circles and make sure the data is doing what you think it should. If it doesn't, page up and page down and run around in more circles; the real value may be near by, and you might see it.
Yeah I wasn't too sure about what you said the first time.
Therefore, I bp everywhere and went for I wild goose chase and found that the last code most likely is the address. It's the only address that doesn't have psq_l and st, and that moves when the avatar moves.
Quote from: Patedj on February 09, 2011, 09:57:49 AM
I've decided to go with another address.
I've checked the values when I broke with the last one and nothing changes when I've moved location
I've checked out this address 804B56D0
This changes when I move at r5 and f4
[spoiler]CR:42200022 XER:20000000 CTR:8008986C DSIS:00400000
DAR:804B56DC SRR0:80089E48 SRR1:0000B032 LR:80089E10
r0:00000400 r1:8062ADE0 r2:8061FA20 r3:8062ADF8
r4:8062ADF4 r5:C54079EA r6:40490FDB r7:FFFFFFFF
r8:FFFFFFFF r9:8008986C r10:8008986C r11:FFFFFFFF
r12:8008986C r13:8061D200 r14:00000000 r15:00000000
r16:00000000 r17:00000000 r18:00000000 r19:00000000
r20:00000000 r21:00000000 r22:00000000 r23:00000000
r24:00000000 r25:803C0000 r26:803B9F00 r27:803D0000
r28:803D2878 r29:904559A0 r30:904559A0 r31:804B562C
f0:4222F983 f1:42A00000 f2:40490FDB f3:3F800000
f4:43869D0C f5:3E32B8C2 f6:3F71C2A0 f7:BEA8614E
f8:00000000 f9:00000000 f10:3EA8614E f11:3F71C2A0
f12:3F71C2A0 f13:BEA8614E 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]
After kenobi chimed in on a different thread, I realized that this should be changed. Don't use the else E21 code type. This will always change the "jump addend" (the value we add to the Y axis) by 0. However, if C is being held down, then the jump addend is changed to 100.0.
4E00000C 00000000 # put a pointer to the float in po
C2135568 00000004 # hook that constantly adds float to Y axis
48000009 42C80000
7D8802A6 C00C0000
C3B8000C EFBD002A
D3B8000C 00000000
14000000 00000000 # make hook add 0.0
283CB80A BFFF4000 # if holding C
14000000 42C80000 # make hook add 100.0
E0000000 80008000 # terminator
I'm back from the weekend and I tried the finished code. I broke at 803C42E4 at saw the code in action. Very nice! Unfortunately even though the bp seems to be functioning perfectly nothing happening to the avatar.
12(r24) is 803C42E4 and f0 changes back and forth from 0 by my command.
I've converted the whole code into a byte version
[spoiler]4600000C 00000000
C2089E30 00000004
48000009 11111111
7D8803A6 812C0000
801F00B0 38000009
901F00B0 00000000
283CB80A DFFF2000
04000000 11111111
E0000000 80008000
[/spoiler]
Which is for this address
[spoiler]804B56DC[/spoiler]
Which breaks here
[spoiler]CR:42200022 XER:20000000 CTR:8008986C DSIS:00400000
DAR:804B56DC SRR0:80089E48 SRR1:0000B032 LR:80089E10
r0:00000400 r1:8062ADE0 r2:8061FA20 r3:8062ADF8
r4:8062ADF4 r5:44000000 r6:40490FDB r7:FFFFFFFF
r8:FFFFFFFF r9:8008986C r10:8008986C r11:FFFFFFFF
r12:8008986C r13:8061D200 r14:00000000 r15:00000000
r16:00000000 r17:00000000 r18:00000000 r19:00000000
r20:00000000 r21:00000000 r22:00000000 r23:00000000
r24:00000000 r25:803C0000 r26:803B9F00 r27:803D0000
r28:803D2878 r29:904559A0 r30:904559A0 r31:804B562C
f0:4222F983 f1:42A00000 f2:40490FDB f3:3F800000
f4:00000000 f5:3E32B8C2 f6:3F71C2A0 f7:BEA8614E
f8:00000000 f9:00000000 f10:3EA8614E f11:3F71C2A0
f12:3F71C2A0 f13:BEA8614E 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]
With these functions w/o the code on
[spoiler]8008986C: 9421FE90 stwu r1,-368(r1)
80089870: 7C0802A6 mflr r0
80089874: 90010174 stw r0,372(r1)
80089878: DBE10160 stfd f31,352(r1)
8008987C: F3E10168 psq_st f31,360(r1),0,0
80089880: 93E1015C stw r31,348(r1)
80089884: 7C7F1B78 mr r31,r3
80089888: A0A300DE lhz r5,222(r3)
8008988C: 2C050001 cmpwi r5,1
80089890: 41820078 beq- 0x80089908
80089894: 40800010 bge- 0x800898a4
80089898: 2C050000 cmpwi r5,0
8008989C: 40800014 bge- 0x800898b0
800898A0: 480008B8 b 0x8008a158
800898A4: 2C050003 cmpwi r5,3
800898A8: 408008B0 bge- 0x8008a158
800898AC: 48000068 b 0x80089914
800898B0: A00300D8 lhz r0,216(r3)
800898B4: 3CC08038 lis r6,-32712
800898B8: A08300DA lhz r4,218(r3)
800898BC: 38C6DA28 subi r6,r6,9688
800898C0: 1CE000A0 mulli r7,r0,160
800898C4: 38050001 addi r0,r5,1
800898C8: 54852834 rlwinm r5,r4,5,0,26
800898CC: 7C863A14 add r4,r6,r7
800898D0: 7C05242E lfsx f0,r5,r4
800898D4: 7C852214 add r4,r5,r4
800898D8: D0030048 stfs f0,72(r3)
800898DC: C004000C lfs f0,12(r4)
800898E0: D00300B8 stfs f0,184(r3)
800898E4: C0040010 lfs f0,16(r4)
800898E8: D00300BC stfs f0,188(r3)
800898EC: C0040014 lfs f0,20(r4)
800898F0: D00300C0 stfs f0,192(r3)
800898F4: C0040018 lfs f0,24(r4)
800898F8: D00300C8 stfs f0,200(r3)
800898FC: C004001C lfs f0,28(r4)
80089900: D00300E0 stfs f0,224(r3)
80089904: B00300DE sth r0,222(r3)
80089908: A08300DE lhz r4,222(r3)
8008990C: 38040001 addi r0,r4,1
80089910: B00300DE sth r0,222(r3)
80089914: 8003007C lwz r0,124(r3)
80089918: 2C000000 cmpwi r0,0
8008991C: 40820060 bne- 0x8008997c
80089920: A08300D8 lhz r4,216(r3)
80089924: 3CA08038 lis r5,-32712
80089928: A00300DA lhz r0,218(r3)
8008992C: 38A5DA28 subi r5,r5,9688
80089930: 1CC400A0 mulli r6,r4,160
80089934: 54042834 rlwinm r4,r0,5,0,26
80089938: 7C053214 add r0,r5,r6
8008993C: 7C04046E lfsux f0,r4,r0
80089940: D0030048 stfs f0,72(r3)
80089944: C0040004 lfs f0,4(r4)
80089948: D003004C stfs f0,76(r3)
8008994C: C0040008 lfs f0,8(r4)
80089950: D0030050 stfs f0,80(r3)
80089954: C004000C lfs f0,12(r4)
80089958: D00300B8 stfs f0,184(r3)
8008995C: C0040010 lfs f0,16(r4)
80089960: D00300BC stfs f0,188(r3)
80089964: C0040014 lfs f0,20(r4)
80089968: D00300C0 stfs f0,192(r3)
8008996C: C0040018 lfs f0,24(r4)
80089970: D00300C8 stfs f0,200(r3)
80089974: C004001C lfs f0,28(r4)
80089978: D00300E0 stfs f0,224(r3)
8008997C: 80030078 lwz r0,120(r3)
80089980: 540007BD rlwinm. r0,r0,0,30,30
80089984: 41820078 beq- 0x800899fc
80089988: 80C300D0 lwz r6,208(r3)
8008998C: 3CA0AAAB lis r5,-21845
80089990: A00300D8 lhz r0,216(r3)
80089994: 3C808038 lis r4,-32712
80089998: 38C60001 addi r6,r6,1
8008999C: 38A5AAAB subi r5,r5,21845
800899A0: 7CA53016 mulhwu r5,r5,r6
800899A4: 3884DA28 subi r4,r4,9688
800899A8: 1C0000A0 mulli r0,r0,160
800899AC: 54A5F87E rlwinm r5,r5,31,1,31
800899B0: 1CA50003 mulli r5,r5,3
800899B4: 7C040214 add r0,r4,r0
800899B8: 7CA53050 sub r5,r6,r5
800899BC: 54A42834 rlwinm r4,r5,5,0,26
800899C0: 90A300D0 stw r5,208(r3)
800899C4: 7CC40214 add r6,r4,r0
800899C8: B0A300DA sth r5,218(r3)
800899CC: 7C04042E lfsx f0,r4,r0
800899D0: D0030048 stfs f0,72(r3)
800899D4: C006000C lfs f0,12(r6)
800899D8: D00300B8 stfs f0,184(r3)
800899DC: C0060010 lfs f0,16(r6)
800899E0: D00300BC stfs f0,188(r3)
800899E4: C0060014 lfs f0,20(r6)
800899E8: D00300C0 stfs f0,192(r3)
800899EC: C0060018 lfs f0,24(r6)
800899F0: D00300C8 stfs f0,200(r3)
800899F4: C006001C lfs f0,28(r6)
800899F8: D00300CC stfs f0,204(r3)
800899FC: 80030078 lwz r0,120(r3)
80089A00: 540007FF rlwinm. r0,r0,0,31,31
80089A04: 41820014 beq- 0x80089a18
80089A08: C0228A04 lfs f1,-30204(r2)
80089A0C: C00300C4 lfs f0,196(r3)
80089A10: EC01002A fadds f0,f1,f0
80089A14: D003004C stfs f0,76(r3)
80089A18: 80830078 lwz r4,120(r3)
80089A1C: 54800739 rlwinm. r0,r4,0,28,28
80089A20: 418200C8 beq- 0x80089ae8
80089A24: 880D985C lbz r0,-26532(r13)
80089A28: 2C000000 cmpwi r0,0
80089A2C: 4182000C beq- 0x80089a38
80089A30: C3E289E0 lfs f31,-30240(r2)
80089A34: 48000010 b 0x80089a44
80089A38: 3C60803D lis r3,-32707
80089A3C: 3863B808 subi r3,r3,18424
80089A40: C3E30890 lfs f31,2192(r3)
80089A44: 880D9740 lbz r0,-26816(r13)
80089A48: 7C000775 extsb. r0,r0
80089A4C: 40820018 bne- 0x80089a64
80089A50: 3C60803C lis r3,-32708
80089A54: 38639F00 subi r3,r3,24832
80089A58: 4BFAACE1 bl 0x80034738
80089A5C: 38000001 li r0,1
80089A60: 980D9740 stb r0,-26816(r13)
80089A64: C0228A08 lfs f1,-30200(r2)
80089A68: 3C60803C lis r3,-32708
80089A6C: 38639F00 subi r3,r3,24832
80089A70: C01F004C lfs f0,76(r31)
80089A74: EC3F0072 fmuls f1,f31,f1
80089A78: C0434204 lfs f2,16900(r3)
80089A7C: EC0100BC fnmsubs f0,f1,f2,f0
80089A80: D01F004C stfs f0,76(r31)
80089A84: 880D985C lbz r0,-26532(r13)
80089A88: 2C000000 cmpwi r0,0
80089A8C: 4182000C beq- 0x80089a98
80089A90: C3E289E0 lfs f31,-30240(r2)
80089A94: 48000010 b 0x80089aa4
80089A98: 3C60803D lis r3,-32707
80089A9C: 3863B808 subi r3,r3,18424
80089AA0: C3E30894 lfs f31,2196(r3)
80089AA4: 880D9740 lbz r0,-26816(r13)
80089AA8: 7C000775 extsb. r0,r0
80089AAC: 40820018 bne- 0x80089ac4
80089AB0: 3C60803C lis r3,-32708
80089AB4: 38639F00 subi r3,r3,24832
80089AB8: 4BFAAC81 bl 0x80034738
80089ABC: 38000001 li r0,1
80089AC0: 980D9740 stb r0,-26816(r13)
80089AC4: C0228A08 lfs f1,-30200(r2)
80089AC8: 3C60803C lis r3,-32708
80089ACC: 38639F00 subi r3,r3,24832
80089AD0: C01F0048 lfs f0,72(r31)
80089AD4: EC3F0072 fmuls f1,f31,f1
80089AD8: C0434204 lfs f2,16900(r3)
80089ADC: EC0100BC fnmsubs f0,f1,f2,f0
80089AE0: D01F0048 stfs f0,72(r31)
80089AE4: 480001C4 b 0x80089ca8
80089AE8: 5480077B rlwinm. r0,r4,0,29,29
80089AEC: 408201BC bne- 0x80089ca8
80089AF0: 800300D4 lwz r0,212(r3)
80089AF4: 540007FF rlwinm. r0,r0,0,31,31
80089AF8: 41820074 beq- 0x80089b6c
80089AFC: 880D9740 lbz r0,-26816(r13)
80089B00: 7C000775 extsb. r0,r0
80089B04: 40820018 bne- 0x80089b1c
80089B08: 3C60803C lis r3,-32708
80089B0C: 38639F00 subi r3,r3,24832
80089B10: 4BFAAC29 bl 0x80034738
80089B14: 38000001 li r0,1
80089B18: 980D9740 stb r0,-26816(r13)
80089B1C: 801F0080 lwz r0,128(r31)
80089B20: 3C80803C lis r4,-32708
80089B24: 38849F00 subi r4,r4,24832
80089B28: 38600001 li r3,1
80089B2C: 2C000000 cmpwi r0,0
80089B30: C0244204 lfs f1,16900(r4)
80089B34: 41820008 beq- 0x80089b3c
80089B38: 3860FFFF li r3,-1
80089B3C: 6C638000 xoris r3,r3,32768
80089B40: 3C004330 lis r0,17200
80089B44: 90610144 stw r3,324(r1)
80089B48: C01F00FC lfs f0,252(r31)
80089B4C: 90010140 stw r0,320(r1)
80089B50: C8628A48 lfd f3,-30136(r2)
80089B54: EC200072 fmuls f1,f0,f1
80089B58: C8410140 lfd f2,320(r1)
80089B5C: C01F004C lfs f0,76(r31)
80089B60: EC421828 fsubs f2,f2,f3
80089B64: EC02007C fnmsubs f0,f2,f1,f0
80089B68: D01F004C stfs f0,76(r31)
80089B6C: 801F00D4 lwz r0,212(r31)
80089B70: 540007BD rlwinm. r0,r0,0,30,30
80089B74: 41820074 beq- 0x80089be8
80089B78: 880D9740 lbz r0,-26816(r13)
80089B7C: 7C000775 extsb. r0,r0
80089B80: 40820018 bne- 0x80089b98
80089B84: 3C60803C lis r3,-32708
80089B88: 38639F00 subi r3,r3,24832
80089B8C: 4BFAABAD bl 0x80034738
80089B90: 38000001 li r0,1
80089B94: 980D9740 stb r0,-26816(r13)
80089B98: 801F0080 lwz r0,128(r31)
80089B9C: 3C80803C lis r4,-32708
80089BA0: 38849F00 subi r4,r4,24832
80089BA4: 38600001 li r3,1
80089BA8: 2C000000 cmpwi r0,0
80089BAC: C0244204 lfs f1,16900(r4)
80089BB0: 41820008 beq- 0x80089bb8
80089BB4: 3860FFFF li r3,-1
80089BB8: 6C638000 xoris r3,r3,32768
80089BBC: 3C004330 lis r0,17200
80089BC0: 90610144 stw r3,324(r1)
80089BC4: C01F00FC lfs f0,252(r31)
80089BC8: 90010140 stw r0,320(r1)
80089BCC: C8628A48 lfd f3,-30136(r2)
80089BD0: EC200072 fmuls f1,f0,f1
80089BD4: C8410140 lfd f2,320(r1)
80089BD8: C01F004C lfs f0,76(r31)
80089BDC: EC421828 fsubs f2,f2,f3
80089BE0: EC02007A fmadds f0,f2,f1,f0
80089BE4: D01F004C stfs f0,76(r31)
80089BE8: 880D985C lbz r0,-26532(r13)
80089BEC: 2C000000 cmpwi r0,0
80089BF0: 4182000C beq- 0x80089bfc
80089BF4: C3E289E0 lfs f31,-30240(r2)
80089BF8: 48000010 b 0x80089c08
80089BFC: 3C60803D lis r3,-32707
80089C00: 3863B808 subi r3,r3,18424
80089C04: C3E30898 lfs f31,2200(r3)
80089C08: 880D9740 lbz r0,-26816(r13)
80089C0C: 7C000775 extsb. r0,r0
80089C10: 40820018 bne- 0x80089c28
80089C14: 3C60803C lis r3,-32708
80089C18: 38639F00 subi r3,r3,24832
80089C1C: 4BFAAB1D bl 0x80034738
80089C20: 38000001 li r0,1
80089C24: 980D9740 stb r0,-26816(r13)
80089C28: C0228A0C lfs f1,-30196(r2)
80089C2C: 3C60803C lis r3,-32708
80089C30: 38639F00 subi r3,r3,24832
80089C34: C01F004C lfs f0,76(r31)
80089C38: EC3F0824 fdivs f1,f31,f1
80089C3C: C0434204 lfs f2,16900(r3)
80089C40: EC0100BC fnmsubs f0,f1,f2,f0
80089C44: D01F004C stfs f0,76(r31)
80089C48: 880D985C lbz r0,-26532(r13)
80089C4C: 2C000000 cmpwi r0,0
80089C50: 4182000C beq- 0x80089c5c
80089C54: C3E289E0 lfs f31,-30240(r2)
80089C58: 48000010 b 0x80089c68
80089C5C: 3C60803D lis r3,-32707
80089C60: 3863B808 subi r3,r3,18424
80089C64: C3E3089C lfs f31,2204(r3)
80089C68: 880D9740 lbz r0,-26816(r13)
80089C6C: 7C000775 extsb. r0,r0
80089C70: 40820018 bne- 0x80089c88
80089C74: 3C60803C lis r3,-32708
80089C78: 38639F00 subi r3,r3,24832
80089C7C: 4BFAAABD bl 0x80034738
80089C80: 38000001 li r0,1
80089C84: 980D9740 stb r0,-26816(r13)
80089C88: C0228A0C lfs f1,-30196(r2)
80089C8C: 3C60803C lis r3,-32708
80089C90: 38639F00 subi r3,r3,24832
80089C94: C01F0048 lfs f0,72(r31)
80089C98: EC3F0824 fdivs f1,f31,f1
80089C9C: C0434204 lfs f2,16900(r3)
80089CA0: EC0100BC fnmsubs f0,f1,f2,f0
80089CA4: D01F0048 stfs f0,72(r31)
80089CA8: 801F0078 lwz r0,120(r31)
80089CAC: 54000739 rlwinm. r0,r0,0,28,28
80089CB0: 4182000C beq- 0x80089cbc
80089CB4: C0A28A10 lfs f5,-30192(r2)
80089CB8: 48000008 b 0x80089cc0
80089CBC: C0A28A14 lfs f5,-30188(r2)
80089CC0: C01F0048 lfs f0,72(r31)
80089CC4: FC002840 fcmpo cr0,f0,f5
80089CC8: 40810008 ble- 0x80089cd0
80089CCC: 48000018 b 0x80089ce4
80089CD0: FCA02850 fneg f5,f5
80089CD4: FC002840 fcmpo cr0,f0,f5
80089CD8: 40800008 bge- 0x80089ce0
80089CDC: 48000008 b 0x80089ce4
80089CE0: FCA00090 fmr f5,f0
80089CE4: C09F004C lfs f4,76(r31)
80089CE8: 3C004330 lis r0,17200
80089CEC: 80C280A8 lwz r6,-32600(r2)
80089CF0: FC202818 frsp f1,f5
80089CF4: D081000C stfs f4,12(r1)
80089CF8: 3861002C addi r3,r1,44
80089CFC: C0028A1C lfs f0,-30180(r2)
80089D00: 38810024 addi r4,r1,36
80089D04: 80A1000C lwz r5,12(r1)
80089D08: 90010148 stw r0,328(r1)
80089D0C: EC200072 fmuls f1,f0,f1
80089D10: 54A50000 rlwinm r5,r5,0,0,0
80089D14: C0628A18 lfs f3,-30184(r2)
80089D18: 7CC02B78 or r0,r6,r5
80089D1C: C8428A48 lfd f2,-30136(r2)
80089D20: 90010008 stw r0,8(r1)
80089D24: C0010008 lfs f0,8(r1)
80089D28: D0BF0048 stfs f5,72(r31)
80089D2C: EC04002A fadds f0,f4,f0
80089D30: EC001824 fdivs f0,f0,f3
80089D34: FC00001E fctiwz f0,f0
80089D38: D8010140 stfd f0,320(r1)
80089D3C: 80010144 lwz r0,324(r1)
80089D40: 6C008000 xoris r0,r0,32768
80089D44: 9001014C stw r0,332(r1)
80089D48: C8010148 lfd f0,328(r1)
80089D4C: EC001028 fsubs f0,f0,f2
80089D50: EC03203C fnmsubs f0,f3,f0,f4
80089D54: D01F004C stfs f0,76(r31)
80089D58: 4825A175 bl 0x802e3ecc
80089D5C: C03F004C lfs f1,76(r31)
80089D60: 38610028 addi r3,r1,40
80089D64: C0028A1C lfs f0,-30180(r2)
80089D68: 38810020 addi r4,r1,32
80089D6C: EC200072 fmuls f1,f0,f1
80089D70: 4825A15D bl 0x802e3ecc
80089D74: C01F00C8 lfs f0,200(r31)
80089D78: 386100B4 addi r3,r1,180
80089D7C: C0810024 lfs f4,36(r1)
80089D80: 388100FC addi r4,r1,252
80089D84: C0410028 lfs f2,40(r1)
80089D88: 38BF00B8 addi r5,r31,184
80089D8C: EC600132 fmuls f3,f0,f4
80089D90: C021002C lfs f1,44(r1)
80089D94: C0010020 lfs f0,32(r1)
80089D98: EC4200F2 fmuls f2,f2,f3
80089D9C: D04100FC stfs f2,252(r1)
80089DA0: C05F00C8 lfs f2,200(r31)
80089DA4: EC220072 fmuls f1,f2,f1
80089DA8: D0210100 stfs f1,256(r1)
80089DAC: C03F00C8 lfs f1,200(r31)
80089DB0: EC210132 fmuls f1,f1,f4
80089DB4: EC000072 fmuls f0,f0,f1
80089DB8: D0010104 stfs f0,260(r1)
80089DBC: 4BFFEAA9 bl 0x80088864
80089DC0: C00100B4 lfs f0,180(r1)
80089DC4: 386100A8 addi r3,r1,168
80089DC8: 389F00AC addi r4,r31,172
80089DCC: 38BF00F0 addi r5,r31,240
80089DD0: D01F00F0 stfs f0,240(r31)
80089DD4: C00100B8 lfs f0,184(r1)
80089DD8: D01F00F4 stfs f0,244(r31)
80089DDC: C00100BC lfs f0,188(r1)
80089DE0: D01F00F8 stfs f0,248(r31)
80089DE4: 4BFFEA81 bl 0x80088864
80089DE8: C00100A8 lfs f0,168(r1)
80089DEC: 3861009C addi r3,r1,156
80089DF0: 389F00A0 addi r4,r31,160
80089DF4: 38BF00B8 addi r5,r31,184
80089DF8: D01F0088 stfs f0,136(r31)
80089DFC: C00100AC lfs f0,172(r1)
80089E00: D01F008C stfs f0,140(r31)
80089E04: C00100B0 lfs f0,176(r1)
80089E08: D01F0090 stfs f0,144(r31)
80089E0C: 4BFFEA59 bl 0x80088864
80089E10: C001009C lfs f0,156(r1)
80089E14: 38610018 addi r3,r1,24
80089E18: C0628A20 lfs f3,-30176(r2)
80089E1C: 38810014 addi r4,r1,20
80089E20: D01F0094 stfs f0,148(r31)
80089E24: C0228A24 lfs f1,-30172(r2)
80089E28: C00100A0 lfs f0,160(r1)
80089E2C: C0428A04 lfs f2,-30204(r2)
80089E30: D01F0098 stfs f0,152(r31)
80089E34: C0028A1C lfs f0,-30180(r2)
80089E38: C08100A4 lfs f4,164(r1)
80089E3C: D09F009C stfs f4,156(r31)
80089E40: D061001C stfs f3,28(r1)
80089E44: 80BF00AC lwz r5,172(r31)
80089E48: 801F00B0 lwz r0,176(r31) Breaks
80089E4C: 90A100D8 stw r5,216(r1)
80089E50: 900100DC stw r0,220(r1)
80089E54: C06100D8 lfs f3,216(r1)
80089E58: 801F00B4 lwz r0,180(r31)
80089E5C: C08100DC lfs f4,220(r1)
80089E60: 900100E0 stw r0,224(r1)
80089E64: EC84082A fadds f4,f4,f1
80089E68: C02100E0 lfs f1,224(r1)
80089E6C: D06100CC stfs f3,204(r1)
80089E70: D08100DC stfs f4,220(r1)
80089E74: D08100D0 stfs f4,208(r1)
80089E78: D02100D4 stfs f1,212(r1)
80089E7C: C03F004C lfs f1,76(r31)
80089E80: EC22082A fadds f1,f2,f1
80089E84: EC200072 fmuls f1,f0,f1
80089E88: 4825A045 bl 0x802e3ecc
80089E8C: C0828A28 lfs f4,-30168(r2)
80089E90: 3C60803C lis r3,-32708
80089E94: C0410018 lfs f2,24(r1)
80089E98: 38632D40 addi r3,r3,11584
80089E9C: C02100D8 lfs f1,216(r1)
80089EA0: 38000000 li r0,0
80089EA4: C0028A20 lfs f0,-30176(r2)
80089EA8: 388100CC addi r4,r1,204
80089EAC: EC6408BA fmadds f3,f4,f2,f1
80089EB0: C0410014 lfs f2,20(r1)
80089EB4: C02100E0 lfs f1,224(r1)
80089EB8: 38A100D8 addi r5,r1,216
80089EBC: D001001C stfs f0,28(r1)
80089EC0: 3901001C addi r8,r1,28
80089EC4: EC0408BA fmadds f0,f4,f2,f1
......
8008A0DC: D0BF0008 stfs f5,8(r31)
8008A0E0: D09F000C stfs f4,12(r31)
8008A0E4: D07F0010 stfs f3,16(r31)
8008A0E8: D05F002C stfs f2,44(r31)
8008A0EC: D03F0030 stfs f1,48(r31)
8008A0F0: D01F0034 stfs f0,52(r31)
8008A0F4: 3C60803C lis r3,-32708
8008A0F8: C0228A40 lfs f1,-30144(r2)
8008A0FC: 38632D40 addi r3,r3,11584
8008A100: 389F0008 addi r4,r31,8
8008A104: 80630038 lwz r3,56(r3)
8008A108: 38A10010 addi r5,r1,16
8008A10C: 38C00000 li r6,0
8008A110: 38E00000 li r7,0
8008A114: 39000000 li r8,0
8008A118: 39200000 li r9,0
8008A11C: 39400000 li r10,0
8008A120: 4BF85435 bl 0x8000f554
8008A124: 2C030000 cmpwi r3,0
8008A128: 41820030 beq- 0x8008a158
8008A12C: C05F000C lfs f2,12(r31)
8008A130: C0210010 lfs f1,16(r1)
8008A134: C0028A44 lfs f0,-30140(r2)
8008A138: EC220828 fsubs f1,f2,f1
8008A13C: FC600A10 fabs f3,f1
8008A140: FC030040 fcmpo cr0,f3,f0
8008A144: 40800014 bge- 0x8008a158
8008A148: EC000828 fsubs f0,f0,f1
8008A14C: EC02002A fadds f0,f2,f0
8008A150: D01F000C stfs f0,12(r31)
8008A154: D01F008C stfs f0,140(r31)
8008A158: E3E10168 psq_l f31,360(r1),0,0
8008A15C: 80010174 lwz r0,372(r1)
8008A160: CBE10160 lfd f31,352(r1)
8008A164: 83E1015C lwz r31,348(r1)
8008A168: 7C0803A6 mtlr r0
8008A16C: 38210170 addi r1,r1,368
8008A170: 4E800020 blr
[/spoiler]
And with the code on
it breaks here
[spoiler] CR:42200022 XER:20000000 CTR:8008986C DSIS:00400000
DAR:804B56DC SRR0:800029B0 SRR1:0000B032 LR:8008986C
r0:00000400 r1:8062ADE0 r2:8061FA20 r3:8062ADF8
r4:8062ADF4 r5:804B56E4 r6:40490FDB r7:FFFFFFFF
r8:FFFFFFFF r9:9421FE90 r10:8008986C r11:FFFFFFFF
r12:8008986C r13:8061D200 r14:00000000 r15:00000000
r16:00000000 r17:00000000 r18:00000000 r19:00000000
r20:00000000 r21:00000000 r22:00000000 r23:00000000
r24:00000000 r25:803C0000 r26:803B9F00 r27:803D0000
r28:803D2878 r29:904559A0 r30:904559A0 r31:804B562C
f0:43160000 f1:42A00000 f2:40490FDB f3:3F800000
f4:3F7C1A78 f5:3E32B8C2 f6:3F71C2A0 f7:BEA8614E
f8:00000000 f9:00000000 f10:3EA8614E f11:3F71C2A0
f12:3F71C2A0 f13:BEA8614E 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]
With functions
[spoiler]800029B0: 801F00B0 lwz r0,176(r31)
800029B4: 38000009 li r0,9
800029B8: 901F00B0 stw r0,176(r31)
800029BC: 48087478 b 0x80089e34
800029C0: 283CB80A cmpldi r28,47114
800029C4: DFFF2000 stfdu f31,8192(r31)
800029C8: 04000000 .word 0x04000000
800029CC: 11111111 .word 0x11111111
800029D0: E0000000 psq_l f0,0(r0),0,0
800029D4: 80008000 lwz r0,-32768(r0)
800029D8: FFFFFFFF fnmadd. f31,f31,f31,f31
800029DC: FFFFFFFF fnmadd. f31,f31,f31,f31[/spoiler]
Now while the code is triggered
[spoiler] CR:42200022 XER:20000000 CTR:8008986C DSIS:00400000
DAR:804B56DC SRR0:800029B0 SRR1:0000B032 LR:8008986C
r0:00000400 r1:8062ADE0 r2:8061FA20 r3:8062ADF8
r4:8062ADF4 r5:804B56E4 r6:40490FDB r7:FFFFFFFF
r8:FFFFFFFF r9:9421FE90 r10:8008986C r11:FFFFFFFF
r12:8008986C r13:8061D200 r14:00000000 r15:00000000
r16:00000000 r17:00000000 r18:00000000 r19:00000000
r20:00000000 r21:00000000 r22:00000000 r23:00000000
r24:00000000 r25:803C0000 r26:803B9F00 r27:803D0000
r28:803D2878 r29:00000013 r30:904559A0 r31:804B562C
f0:43160000 f1:42A00000 f2:40490FDB f3:3F800000
f4:3F7C1A78 f5:3E32B8C2 f6:3F71C2A0 f7:BEA8614E
f8:00000000 f9:00000000 f10:3EA8614E f11:3F71C2A0
f12:3F71C2A0 f13:BEA8614E 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]
With functions
[spoiler]800029BC: 48087478 b 0x80089e34
800029C0: 283CB80A cmpldi r28,47114
800029C4: DFFF2000 stfdu f31,8192(r31)
800029C8: 04000000 .word 0x04000000
800029CC: 11111111 .word 0x11111111
800029D0: E0000000 psq_l f0,0(r0),0,0
800029D4: 80008000 lwz r0,-32768(r0)
800029D8: FFFFFFFF fnmadd. f31,f31,f31,f31
800029DC: FFFFFFFF fnmadd. f31,f31,f31,f31[/spoiler]
which adds 9 to the address' value.
I think you're getting confused. You should stop trying to use the code I gave you. You're going in a completely different direction and it's creating problems for you.
The original code that I gave you had a hot-swappable float. The 4E code gave you a pointer to the float, so you could use standard code types like 28 and 14 to then modify how much the code added to your jump. It would be easier for non-ASM types to modify.
You tried to use the 46 code type instead of 4E. You can't do this. The ba ignores the lower 25 bits when being used for addresses. If you want to use this codetype, you must use the po version. EDIT: it's also a good thing it didn't work, because the C2 code uses the ba to determine where to hook, and that 46 code would have modified the ba and ruined the C2 code...except after the ba ignored the lower 25 bits, it looked like 80000000.
The old code would provide a pointer to the hot-swappable float by using mflr, but you aren't using that pointer because your new code has nothing to do with floats. It's got lwz, which is for integers.
---
Your second breakpoint inside the code was actually hitting your ASM code. Look carefully. The address is VERY low; any address with the first two bytes as 0x8000 is probably the code handler. This is actually the code that you wrote!
4600000C 00000000
C2089E30 00000004
48000009 11111111
7D8803A6 812C0000
801F00B0 38000009
901F00B0 00000000
283CB80A DFFF2000
04000000 11111111
E0000000 80008000
800029B0: 801F00B0 lwz r0,176(r31) # your ASM code
800029B4: 38000009 li r0,9 # your ASM code
800029B8: 901F00B0 stw r0,176(r31) # your ASM code
800029BC: 48087478 b 0x80089e34 # branch back to address after hook (80089e30) inserted by code handler when C2 was executed
800029C0: 283CB80A cmpldi r28,47114 # button activator
800029C4: DFFF2000 stfdu f31,8192(r31) # button activator
800029C8: 04000000 .word 0x04000000 # 04 write
800029CC: 11111111 .word 0x11111111 # 04 write
800029D0: E0000000 psq_l f0,0(r0),0,0 # terminator
800029D4: 80008000 lwz r0,-32768(r0) # terminator
So I listened to what you had to say. I chose to use the old DeathWolf Moon Jump formula
It turns out that nothing happens, to the address nor the avatar.
[spoiler]lis r14, 0x803c
ori r14,r14,0xb80a
li r15, 0x00002000
lis r16,0x804b
lwz r17,0x56DC(r16)
li r18,0x7fff
cmpw r14,r15
bne- NO_ADD
add r19, r17,r18
stw r19,0x56dc(r16)
NO_ADD:
stw r0,220(r1)[/spoiler]
Code
[spoiler]C2089E4C 00000006
3DC0803C 61CEB80A
39E02000 3E00804B
823056DC 3A407FFF
7C0E7800 4082000C
7E719214 927056DC
900100DC 00000000
E0000000 80008000
I've bolded the address b/c I used the next address from where it breaks to use the code. It was a stw so I figured the game would "feel" better that way. Tell me if I'm wrong. O0[/spoiler]
What I find interesting is that the first op in the breakpoint refers to the address's value but there is nowhere that it stores it in the actual address.. lwz r0,176(r31) but no stw r0,176(r31)
P.S. I'll see what the write bp is for this address, I think it's completely different.
I was right. It writes in floats. (Code is still on though)
Maybe the floats are what changes things around in this game. Change what makes things change and you change the whole.
Address
[spoiler]DAR:804B56DC Srr0 80089654[/spoiler]
Registers:
[spoiler] CR:22200048 XER:20000000 CTR:00000000 DSIS:02400000
DAR:804B56DC SRR0:80089654 SRR1:0000B032 LR:80089640
r0:C2A2C3D7 r1:8062AF50 r2:8061FA20 r3:8062AF64
r4:904559A0 r5:C501EB58 r6:00000000 r7:00000000
r8:8062AEDC r9:8062AED8 r10:44C39EB4 r11:8062AFB0
r12:801BF14C r13:8061D200 r14:803CB80A r15:00002000
r16:804B0000 r17:00000000 r18:00007FFF r19:00000000
r20:00000000 r21:00000000 r22:00000000 r23:00000000
r24:00000000 r25:803C0000 r26:803B9F00 r27:803D0000
r28:803D2878 r29:904559A0 r30:904559A0 r31:804B562C
f0:00000000 f1:3F800000 f2:00000000 f3:00000000
f4:3F000000 f5:3F71C2A0 f6:3F71C2A0 f7:BEA8614E
f8:00000000 f9:00000000 f10:3EA8614E f11:3F71C2A0
f12:3F71C2A0 f13:BEA8614E 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]
Function
[spoiler]80089600: 9421FFC0 stwu r1,-64(r1)
80089604: 7C0802A6 mflr r0
80089608: 90010044 stw r0,68(r1)
8008960C: 93E1003C stw r31,60(r1)
80089610: 7C7F1B78 mr r31,r3
80089614: 38600000 li r3,0
80089618: 93C10038 stw r30,56(r1)
8008961C: 48104C1D bl 0x8018e238
80089620: 2C030000 cmpwi r3,0
80089624: 7C7E1B78 mr r30,r3
80089628: 41820058 beq- 0x80089680
8008962C: 4BF8AFE9 bl 0x80014614
80089630: 907F00D4 stw r3,212(r31)
80089634: 7FC4F378 mr r4,r30
80089638: 38610020 addi r3,r1,32
8008963C: 4BF8E785 bl 0x80017dc0
80089640: C0010020 lfs f0,32(r1)
80089644: 7FC4F378 mr r4,r30
80089648: 38610014 addi r3,r1,20
8008964C: D01F00AC stfs f0,172(r31)
80089650: C0010024 lfs f0,36(r1)
80089654: D01F00B0 stfs f0,176(r31) ----> Breaks here 176(r31)= DAR
80089658: C0010028 lfs f0,40(r1)
8008965C: D01F00B4 stfs f0,180(r31)
80089660: 4BF8E65D bl 0x80017cbc
80089664: C0010014 lfs f0,20(r1)
80089668: D01F00A0 stfs f0,160(r31)
8008966C: C0010018 lfs f0,24(r1)
80089670: D01F00A4 stfs f0,164(r31)
80089674: C001001C lfs f0,28(r1)
80089678: D01F00A8 stfs f0,168(r31)
8008967C: 4800000C b 0x80089688
80089680: 38000000 li r0,0
80089684: 901F00D4 stw r0,212(r31)
80089688: A01F00D8 lhz r0,216(r31)
8008968C: 28000005 cmplwi r0,5
80089690: 40820040 bne- 0x800896d0
80089694: 38600000 li r3,0
80089698: 38800000 li r4,0
8008969C: 48104CE9 bl 0x8018e384
800896A0: 2C030000 cmpwi r3,0
800896A4: 41820078 beq- 0x8008971c
800896A8: 7C641B78 mr r4,r3
800896AC: 38610008 addi r3,r1,8
800896B0: 48045881 bl 0x800cef30
800896B4: C0010008 lfs f0,8(r1)
800896B8: D01F00AC stfs f0,172(r31)
800896BC: C001000C lfs f0,12(r1)
800896C0: D01F00B0 stfs f0,176(r31)
800896C4: C0010010 lfs f0,16(r1)
800896C8: D01F00B4 stfs f0,180(r31)
800896CC: 48000050 b 0x8008971c
800896D0: 28000006 cmplwi r0,6
800896D4: 40820048 bne- 0x8008971c
800896D8: 880D985C lbz r0,-26532(r13)
800896DC: 38800000 li r4,0
800896E0: 2C000000 cmpwi r0,0
800896E4: 4182000C beq- 0x800896f0
800896E8: 38600000 li r3,0
800896EC: 48000014 b 0x80089700
800896F0: 3C60803D lis r3,-32707
800896F4: 3863B808 subi r3,r3,18424
800896F8: 80030870 lwz r0,2160(r3)
800896FC: 5403043E rlwinm r3,r0,0,16,31
80089700: 546007FF rlwinm. r0,r3,0,31,31
80089704: 41820008 beq- 0x8008970c
80089708: 60840001 ori r4,r4,1
8008970C: 546007BD rlwinm. r0,r3,0,30,30
80089710: 41820008 beq- 0x80089718
80089714: 60840002 ori r4,r4,2
80089718: 909F00D4 stw r4,212(r31)
8008971C: A07F00D8 lhz r3,216(r31)
80089720: 3CC08038 lis r6,-32712
80089724: A01F00DA lhz r0,218(r31)
80089728: 38C6D880 subi r6,r6,10112
8008972C: 1CE3003C mulli r7,r3,60
80089730: 387F006C addi r3,r31,108
80089734: 3881002C addi r4,r1,44
80089738: 1CA0000C mulli r5,r0,12
8008973C: 7C063A14 add r0,r6,r7
80089740: 7CC5002E lwzx r6,r5,r0
80089744: 7CE50214 add r7,r5,r0
80089748: 80A70004 lwz r5,4(r7)
8008974C: 80070008 lwz r0,8(r7)
80089750: 90C1002C stw r6,44(r1)
80089754: 90A10030 stw r5,48(r1)
80089758: 90010034 stw r0,52(r1)
8008975C: 4812C4AD bl 0x801b5c08
80089760: 2C030000 cmpwi r3,0
80089764: 4182002C beq- 0x80089790
80089768: 8081002C lwz r4,44(r1)
8008976C: 38000000 li r0,0
80089770: 80610030 lwz r3,48(r1)
80089774: 909F006C stw r4,108(r31)
80089778: 907F0070 stw r3,112(r31)
8008977C: 80610034 lwz r3,52(r1)
80089780: 907F0074 stw r3,116(r31)
80089784: B01F00DA sth r0,218(r31)
80089788: 901F00D0 stw r0,208(r31)
8008978C: B01F00DE sth r0,222(r31)
80089790: 7FE3FB78 mr r3,r31
80089794: 399F006C addi r12,r31,108
80089798: 4812C4AD bl 0x801b5c44
8008979C: 60000000 nop
800897A0: 880D9740 lbz r0,-26816(r13)
800897A4: 7C000775 extsb. r0,r0
800897A8: 40820018 bne- 0x800897c0
800897AC: 3C60803C lis r3,-32708
800897B0: 38639F00 subi r3,r3,24832
800897B4: 4BFAAF85 bl 0x80034738
800897B8: 38000001 li r0,1
800897BC: 980D9740 stb r0,-26816(r13)
800897C0: 3C60803C lis r3,-32708
800897C4: 38639F00 subi r3,r3,24832
800897C8: 806300E4 lwz r3,228(r3)
800897CC: 4824694D bl 0x802d0118
800897D0: C01F00CC lfs f0,204(r31)
800897D4: C07F00E0 lfs f3,224(r31)
800897D8: C02289FC lfs f1,-30212(r2)
800897DC: EC401828 fsubs f2,f0,f3
800897E0: C0028A00 lfs f0,-30208(r2)
800897E4: EC4100B2 fmuls f2,f1,f2
800897E8: FC201210 fabs f1,f2
800897EC: FC010040 fcmpo cr0,f1,f0
800897F0: 40810010 ble- 0x80089800
800897F4: EC03102A fadds f0,f3,f2
800897F8: D01F00E0 stfs f0,224(r31)
800897FC: 4800002C b 0x80089828
80089800: A07F00D8 lhz r3,216(r31)
80089804: 3C808038 lis r4,-32712
80089808: A01F00DA lhz r0,218(r31)
8008980C: 3884DA28 subi r4,r4,9688
80089810: 1C6300A0 mulli r3,r3,160
80089814: 54002834 rlwinm r0,r0,5,0,26
80089818: 7C641A14 add r3,r4,r3
8008981C: 7C630214 add r3,r3,r0
80089820: C003001C lfs f0,28(r3)
80089824: D01F00E0 stfs f0,224(r31)
80089828: C07F00E0 lfs f3,224(r31)
8008982C: 7FE3FB78 mr r3,r31
80089830: C05F00E4 lfs f2,228(r31)
80089834: 38800001 li r4,1
80089838: C03F00E8 lfs f1,232(r31)
8008983C: C01F00EC lfs f0,236(r31)
80089840: D07F005C stfs f3,92(r31)
80089844: D05F0060 stfs f2,96(r31)
80089848: D03F0064 stfs f1,100(r31)
8008984C: D01F0068 stfs f0,104(r31)
80089850: 4BF87A29 bl 0x80011278
80089854: 80010044 lwz r0,68(r1)
80089858: 83E1003C lwz r31,60(r1)
8008985C: 83C10038 lwz r30,56(r1)
80089860: 7C0803A6 mtlr r0
80089864: 38210040 addi r1,r1,64
80089868: 4E800020 blr
[/spoiler]
I'm going to use the float code you taught me.
[spoiler]4E00000C 00000000
C2089E4C 00000004
48000009 448AE000
7D8802A6 C08C0000
C01F00B0 EC00202A
D01F00B0 00000000
14000000 00000000
283CB80A BFFF4000
14000000 42C80000
E0000000 80008000[/spoiler]
This changes the value of the address but doesn't change the avatar's Y axis
and the initial address we were discussing about with a write bp leads me to exactly the same.
I found another float (f1) adding to the same address, 12(r24), further down the function. So I'll hook there.
The code works but doesn't change the avatar's y location.
[spoiler]4E00000C 00000000
C21356C8 00000004
48000009 448AE000
7D8802A6 C00C0000
C038000C EC21002A
D038000C 00000000
14000000 00000000
283CB80A BFFF4000
14000000 448AE000
E0000000 80008000[/spoiler]
I tried both addresses and both codes changes the values of their appropriate address, but still no luck at moving the avatar. I'm now looking for more addresses
Quote from: Patedj on February 15, 2011, 12:27:05 AM
lis r14, 0x803c
ori r14,r14,0xb80a
li r15, 0x00002000
lis r16,0x804b
lwz r17,0x56DC(r16)
li r18,0x7fff
cmpw r14,r15
bne- NO_ADD
add r19, r17,r18
stw r19,0x56dc(r16)
NO_ADD:
stw r0,220(r1)
Stack frame. Stack frame. StackframeStackframeStackframeStackframe. Stack frame? Stack frame!
---
Quote from: Patedj on February 15, 2011, 01:44:38 AM
The code works but doesn't change the avatar's y location.
When you hit the breakpoint, click Show Mem. Then, hit Run, and then check Auto Update. Double check that the address you're using actually corresponds to your Y axis, before you go writing codes for it.
So I did what you said, and I arrive exactly at where we were. The same address that we've been working on.
I've also called and walked the stacks
[spoiler]80135568
80038760
80038324
80006CBC
80006288
[/spoiler]
and only 80135568 relates to the specific Y axis that stays permanent. No fluctuating values. Only the avatar's Y axis.
I found this by searching the ground level, (I know it's 00000000 because of the previous search of equal/notequal/equaltoold)
And comparing the ground level to stairs, so greater than new column, than back to the ground, equal to old.
5-10 times in a row and I get 4-5 addresses.
I usually use the first one b/c it would be the stack that's before the rest, which hence forth would influence the rest.
Unfortunately, the address we have been working on doesn't affect the avatar whatsoever.
I've changed location, and found a completely fresh one. This one looks promising. I can't break (and the not exact one is the one before which is a set location point in the game. So I'll figure out a Gecko code for it.
Edit:1
[spoiler]283CB80A 00000008
8220000A 804B56C6
8600000A 01FFFFFF
8420000A 804B56C6
E0000000 80008000[/spoiler]
Now I can break writing to it (no reading yet)
The Gecko code doesn't move the Avatar. I'm starting to be getting tired of misses. I had the same problem with Little Ninjas, and Donkey Kong. I don't understand why I can't moon jump/levitate.
Registers
[spoiler]CR:82200022 XER:20000000 CTR:8008986C DSIS:02400000
DAR:804B56C4 SRR0:80089E30 SRR1:0000B032 LR:80089E10
r0:00000140 r1:8062ADE0 r2:8061FA20 r3:8062ADF8
r4:8062ADF4 r5:804B56E4 r6:40490FDB r7:FFFFFFFF
r8:FFFFFFFF r9:8008986C r10:8008986C r11:FFFFFFFF
r12:8008986C r13:8061D200 r14:00000000 r15:00000000
r16:00000000 r17:00000000 r18:00000000 r19:00000000
r20:00000000 r21:00000000 r22:00000000 r23:00000000
r24:00000000 r25:803C0000 r26:803B9F00 r27:803D0000
r28:803D2878 r29:904559A0 r30:904559A0 r31:804B562C
f0:43160000 f1:42A00000 f2:40490FDB f3:3F800000
f4:3F7C1A78 f5:3E32B8C2 f6:3F71C2A0 f7:BEA8614E
f8:00000000 f9:00000000 f10:3EA8614E f11:3F71C2A0
f12:3F71C2A0 f13:BEA8614E 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]
[spoiler]8008986C: 9421FE90 stwu r1,-368(r1)
80089870: 7C0802A6 mflr r0
80089874: 90010174 stw r0,372(r1)
80089878: DBE10160 stfd f31,352(r1)
8008987C: F3E10168 psq_st f31,360(r1),0,0
80089880: 93E1015C stw r31,348(r1)
80089884: 7C7F1B78 mr r31,r3
80089888: A0A300DE lhz r5,222(r3)
8008988C: 2C050001 cmpwi r5,1
80089890: 41820078 beq- 0x80089908
80089894: 40800010 bge- 0x800898a4
80089898: 2C050000 cmpwi r5,0
8008989C: 40800014 bge- 0x800898b0
800898A0: 480008B8 b 0x8008a158
800898A4: 2C050003 cmpwi r5,3
800898A8: 408008B0 bge- 0x8008a158
800898AC: 48000068 b 0x80089914
800898B0: A00300D8 lhz r0,216(r3)
800898B4: 3CC08038 lis r6,-32712
800898B8: A08300DA lhz r4,218(r3)
800898BC: 38C6DA28 subi r6,r6,9688
800898C0: 1CE000A0 mulli r7,r0,160
800898C4: 38050001 addi r0,r5,1
800898C8: 54852834 rlwinm r5,r4,5,0,26
800898CC: 7C863A14 add r4,r6,r7
800898D0: 7C05242E lfsx f0,r5,r4
800898D4: 7C852214 add r4,r5,r4
800898D8: D0030048 stfs f0,72(r3)
800898DC: C004000C lfs f0,12(r4)
800898E0: D00300B8 stfs f0,184(r3)
800898E4: C0040010 lfs f0,16(r4)
800898E8: D00300BC stfs f0,188(r3)
800898EC: C0040014 lfs f0,20(r4)
800898F0: D00300C0 stfs f0,192(r3)
800898F4: C0040018 lfs f0,24(r4)
800898F8: D00300C8 stfs f0,200(r3)
800898FC: C004001C lfs f0,28(r4)
80089900: D00300E0 stfs f0,224(r3)
80089904: B00300DE sth r0,222(r3)
80089908: A08300DE lhz r4,222(r3)
8008990C: 38040001 addi r0,r4,1
80089910: B00300DE sth r0,222(r3)
80089914: 8003007C lwz r0,124(r3)
80089918: 2C000000 cmpwi r0,0
8008991C: 40820060 bne- 0x8008997c
80089920: A08300D8 lhz r4,216(r3)
80089924: 3CA08038 lis r5,-32712
80089928: A00300DA lhz r0,218(r3)
8008992C: 38A5DA28 subi r5,r5,9688
80089930: 1CC400A0 mulli r6,r4,160
80089934: 54042834 rlwinm r4,r0,5,0,26
80089938: 7C053214 add r0,r5,r6
8008993C: 7C04046E lfsux f0,r4,r0
80089940: D0030048 stfs f0,72(r3)
80089944: C0040004 lfs f0,4(r4)
80089948: D003004C stfs f0,76(r3)
8008994C: C0040008 lfs f0,8(r4)
80089950: D0030050 stfs f0,80(r3)
80089954: C004000C lfs f0,12(r4)
80089958: D00300B8 stfs f0,184(r3)
8008995C: C0040010 lfs f0,16(r4)
80089960: D00300BC stfs f0,188(r3)
80089964: C0040014 lfs f0,20(r4)
80089968: D00300C0 stfs f0,192(r3)
8008996C: C0040018 lfs f0,24(r4)
80089970: D00300C8 stfs f0,200(r3)
80089974: C004001C lfs f0,28(r4)
80089978: D00300E0 stfs f0,224(r3)
8008997C: 80030078 lwz r0,120(r3)
80089980: 540007BD rlwinm. r0,r0,0,30,30
80089984: 41820078 beq- 0x800899fc
80089988: 80C300D0 lwz r6,208(r3)
8008998C: 3CA0AAAB lis r5,-21845
80089990: A00300D8 lhz r0,216(r3)
80089994: 3C808038 lis r4,-32712
80089998: 38C60001 addi r6,r6,1
8008999C: 38A5AAAB subi r5,r5,21845
800899A0: 7CA53016 mulhwu r5,r5,r6
800899A4: 3884DA28 subi r4,r4,9688
800899A8: 1C0000A0 mulli r0,r0,160
800899AC: 54A5F87E rlwinm r5,r5,31,1,31
800899B0: 1CA50003 mulli r5,r5,3
.....
80089DCC: 38BF00F0 addi r5,r31,240
80089DD0: D01F00F0 stfs f0,240(r31)
80089DD4: C00100B8 lfs f0,184(r1)
80089DD8: D01F00F4 stfs f0,244(r31)
80089DDC: C00100BC lfs f0,188(r1)
80089DE0: D01F00F8 stfs f0,248(r31)
80089DE4: 4BFFEA81 bl 0x80088864
80089DE8: C00100A8 lfs f0,168(r1)
80089DEC: 3861009C addi r3,r1,156
80089DF0: 389F00A0 addi r4,r31,160
80089DF4: 38BF00B8 addi r5,r31,184
80089DF8: D01F0088 stfs f0,136(r31)
80089DFC: C00100AC lfs f0,172(r1)
80089E00: D01F008C stfs f0,140(r31)
80089E04: C00100B0 lfs f0,176(r1)
80089E08: D01F0090 stfs f0,144(r31)
80089E0C: 4BFFEA59 bl 0x80088864
80089E10: C001009C lfs f0,156(r1)
80089E14: 38610018 addi r3,r1,24
80089E18: C0628A20 lfs f3,-30176(r2)
80089E1C: 38810014 addi r4,r1,20
80089E20: D01F0094 stfs f0,148(r31)
80089E24: C0228A24 lfs f1,-30172(r2)
80089E28: C00100A0 lfs f0,160(r1)
80089E2C: C0428A04 lfs f2,-30204(r2)
80089E30: D01F0098 stfs f0,152(r31) ----> Breaks Here!!! It's a float
80089E34: C0028A1C lfs f0,-30180(r2)
80089E38: C08100A4 lfs f4,164(r1)
80089E3C: D09F009C stfs f4,156(r31)
80089E40: D061001C stfs f3,28(r1)
80089E44: 80BF00AC lwz r5,172(r31)
80089E48: 801F00B0 lwz r0,176(r31)
80089E4C: 90A100D8 stw r5,216(r1)
80089E50: 900100DC stw r0,220(r1)
80089E54: C06100D8 lfs f3,216(r1)
80089E58: 801F00B4 lwz r0,180(r31)
80089E5C: C08100DC lfs f4,220(r1)
80089E60: 900100E0 stw r0,224(r1)
80089E64: EC84082A fadds f4,f4,f1
80089E68: C02100E0 lfs f1,224(r1)
80089E6C: D06100CC stfs f3,204(r1)
80089E70: D08100DC stfs f4,220(r1)
80089E74: D08100D0 stfs f4,208(r1)
80089E78: D02100D4 stfs f1,212(r1)
80089E7C: C03F004C lfs f1,76(r31)
80089E80: EC22082A fadds f1,f2,f1
80089E84: EC200072 fmuls f1,f0,f1
80089E88: 4825A045 bl 0x802e3ecc
80089E8C: C0828A28 lfs f4,-30168(r2)
80089E90: 3C60803C lis r3,-32708
80089E94: C0410018 lfs f2,24(r1)
80089E98: 38632D40 addi r3,r3,11584
80089E9C: C02100D8 lfs f1,216(r1)
80089EA0: 38000000 li r0,0
80089EA4: C0028A20 lfs f0,-30176(r2)
80089EA8: 388100CC addi r4,r1,204
80089EAC: EC6408BA fmadds f3,f4,f2,f1
80089EB0: C0410014 lfs f2,20(r1)
80089EB4: C02100E0 lfs f1,224(r1)
80089EB8: 38A100D8 addi r5,r1,216
80089EBC: D001001C stfs f0,28(r1)
80089EC0: 3901001C addi r8,r1,28
80089EC4: EC0408BA fmadds f0,f4,f2,f1
80089EC8: D06100D8 stfs f3,216(r1)
80089ECC: 80630038 lwz r3,56(r3)
80089ED0: 39210108 addi r9,r1,264
80089ED4: 90010138 stw r0,312(r1)
80089ED8: 38C0000F li r6,15
80089EDC: D00100E0 stfs f0,224(r1)
80089EE0: 38E00002 li r7,2
80089EE4: 4BF85DFD bl 0x8000fce0
80089EE8: 2C030000 cmpwi r3,0
80089EEC: 41820050 beq- 0x80089f3c
80089EF0: C02289E0 lfs f1,-30240(r2)
80089EF4: 386100E4 addi r3,r1,228
80089EF8: C0028A20 lfs f0,-30176(r2)
80089EFC: 3881012C addi r4,r1,300
80089F00: D0210090 stfs f1,144(r1)
80089F04: D0010094 stfs f0,148(r1)
80089F08: D0210098 stfs f1,152(r1)
80089F0C: D02100E4 stfs f1,228(r1)
80089F10: D00100E8 stfs f0,232(r1)
80089F14: D02100EC stfs f1,236(r1)
80089F18: 4BFFE9DD bl 0x800888f4
80089F1C: C0028A2C lfs f0,-30164(r2)
80089F20: C0428A34 lfs f2,-30156(r2)
80089F24: EC600828 fsubs f3,f0,f1
80089F28: C0228A30 lfs f1,-30160(r2)
80089F2C: C01F008C lfs f0,140(r31)
80089F30: EC4200F2 fmuls f2,f2,f3
80089F34: EC0100BC fnmsubs f0,f1,f2,f0
80089F38: D01F008C stfs f0,140(r31)
80089F3C: 387F0094 addi r3,r31,148
80089F40: 389F0088 addi r4,r31,136
80089F44: 38A1001C addi r5,r1,28
80089F48: 38C100C0 addi r6,r1,192
80089F4C: 4BF99509 bl 0x80023454
80089F50: 2C030000 cmpwi r3,0
80089F54: 418200D4 beq- 0x8008a028
80089F58: C03F0100 lfs f1,256(r31)
80089F5C: 386100E4 addi r3,r1,228
80089F60: 388100C0 addi r4,r1,192
80089F64: 4BFFE949 bl 0x800888ac
80089F68: C3E1001C lfs f31,28(r1)
80089F6C: 3861006C addi r3,r1,108
80089F70: 389F0088 addi r4,r31,136
80089F74: 38BF0094 addi r5,r31,148
80089F78: 4BFFE911 bl 0x80088888
80089F7C: FC20F890 fmr f1,f31
80089F80: 38610078 addi r3,r1,120
80089F84: 3881006C addi r4,r1,108
80089F88: 4BFFE925 bl 0x800888ac
80089F8C: 38610084 addi r3,r1,132
80089F90: 389F0094 addi r4,r31,148
80089F94: 38A10078 addi r5,r1,120
80089F98: 4BFFE8CD bl 0x80088864
80089F9C: C0410084 lfs f2,132(r1)
80089FA0: 38610060 addi r3,r1,96
80089FA4: C0210088 lfs f1,136(r1)
80089FA8: 388100F0 addi r4,r1,240
80089FAC: C001008C lfs f0,140(r1)
80089FB0: 38A100E4 addi r5,r1,228
80089FB4: D04100F0 stfs f2,240(r1)
80089FB8: D02100F4 stfs f1,244(r1)
80089FBC: D00100F8 stfs f0,248(r1)
80089FC0: 4BFFE8A5 bl 0x80088864
80089FC4: C0010060 lfs f0,96(r1)
80089FC8: 38610054 addi r3,r1,84
80089FCC: 389F0094 addi r4,r31,148
80089FD0: 38BF0088 addi r5,r31,136
80089FD4: D01F0088 stfs f0,136(r31)
80089FD8: C0010064 lfs f0,100(r1)
80089FDC: D01F008C stfs f0,140(r31)
80089FE0: C0010068 lfs f0,104(r1)
80089FE4: D01F0090 stfs f0,144(r31)
80089FE8: 4BFFE8A1 bl 0x80088888
80089FEC: C0410054 lfs f2,84(r1)
80089FF0: 386100F0 addi r3,r1,240
80089FF4: C0210058 lfs f1,88(r1)
80089FF8: C001005C lfs f0,92(r1)
80089FFC: D04100F0 stfs f2,240(r1)
8008A000: D02100F4 stfs f1,244(r1)
8008A004: D00100F8 stfs f0,248(r1)
8008A008: 48157561 bl 0x801e1568
8008A00C: C0028A38 lfs f0,-30152(r2)
8008A010: FC010040 fcmpo cr0,f1,f0
8008A014: 40800014 bge- 0x8008a028
8008A018: EC200828 fsubs f1,f0,f1
8008A01C: C01F008C lfs f0,140(r31)
8008A020: EC00082A fadds f0,f0,f1
8008A024: D01F008C stfs f0,140(r31)
8008A028: 801F007C lwz r0,124(r31)
8008A02C: 2C000000 cmpwi r0,0
8008A030: 41820094 beq- 0x8008a0c4
8008A034: C01F0088 lfs f0,136(r31)
8008A038: 3861003C addi r3,r1,60
8008A03C: C0BF0008 lfs f5,8(r31)
8008A040: 389F0094 addi r4,r31,148
8008A044: C03F008C lfs f1,140(r31)
8008A048: 38A10030 addi r5,r1,48
8008A04C: C09F000C lfs f4,12(r31)
8008A050: EC402828 fsubs f2,f0,f5
8008A054: C0C28A3C lfs f6,-30148(r2)
8008A058: EC612028 fsubs f3,f1,f4
8008A05C: C01F0090 lfs f0,144(r31)
8008A060: ECA628BA fmadds f5,f6,f2,f5
8008A064: C03F0010 lfs f1,16(r31)
8008A068: C04289F0 lfs f2,-30224(r2)
8008A06C: EC000828 fsubs f0,f0,f1
8008A070: EC4220FA fmadds f2,f2,f3,f4
8008A074: 80DF002C lwz r6,44(r31)
8008A078: D0BF0008 stfs f5,8(r31)
8008A07C: EC06083A fmadds f0,f6,f0,f1
8008A080: 801F0030 lwz r0,48(r31)
8008A084: D05F000C stfs f2,12(r31)
8008A088: D01F0010 stfs f0,16(r31)
8008A08C: 90C10030 stw r6,48(r1)
8008A090: 90010034 stw r0,52(r1)
8008A094: 801F0034 lwz r0,52(r31)
8008A098: 90010038 stw r0,56(r1)
8008A09C: 4BFFE7ED bl 0x80088888
8008A0A0: C0228A3C lfs f1,-30148(r2)
8008A0A4: 38610048 addi r3,r1,72
8008A0A8: 3881003C addi r4,r1,60
8008A0AC: 4BFFE801 bl 0x800888ac
8008A0B0: 387F002C addi r3,r31,44
8008A0B4: 38A10048 addi r5,r1,72
8008A0B8: 7C641B78 mr r4,r3
8008A0BC: 4BFFE7A9 bl 0x80088864
8008A0C0: 48000034 b 0x8008a0f4
8008A0C4: C0BF0088 lfs f5,136(r31)
8008A0C8: C09F008C lfs f4,140(r31)
8008A0CC: C07F0090 lfs f3,144(r31)
8008A0D0: C05F0094 lfs f2,148(r31)
8008A0D4: C03F0098 lfs f1,152(r31)
8008A0D8: C01F009C lfs f0,156(r31)
8008A0DC: D0BF0008 stfs f5,8(r31)
8008A0E0: D09F000C stfs f4,12(r31)
8008A0E4: D07F0010 stfs f3,16(r31)
8008A0E8: D05F002C stfs f2,44(r31)
8008A0EC: D03F0030 stfs f1,48(r31)
8008A0F0: D01F0034 stfs f0,52(r31)
8008A0F4: 3C60803C lis r3,-32708
8008A0F8: C0228A40 lfs f1,-30144(r2)
8008A0FC: 38632D40 addi r3,r3,11584
8008A100: 389F0008 addi r4,r31,8
8008A104: 80630038 lwz r3,56(r3)
8008A108: 38A10010 addi r5,r1,16
8008A10C: 38C00000 li r6,0
8008A110: 38E00000 li r7,0
8008A114: 39000000 li r8,0
8008A118: 39200000 li r9,0
8008A11C: 39400000 li r10,0
8008A120: 4BF85435 bl 0x8000f554
8008A124: 2C030000 cmpwi r3,0
8008A128: 41820030 beq- 0x8008a158
8008A12C: C05F000C lfs f2,12(r31)
8008A130: C0210010 lfs f1,16(r1)
8008A134: C0028A44 lfs f0,-30140(r2)
8008A138: EC220828 fsubs f1,f2,f1
8008A13C: FC600A10 fabs f3,f1
8008A140: FC030040 fcmpo cr0,f3,f0
8008A144: 40800014 bge- 0x8008a158
8008A148: EC000828 fsubs f0,f0,f1
8008A14C: EC02002A fadds f0,f2,f0
8008A150: D01F000C stfs f0,12(r31)
8008A154: D01F008C stfs f0,140(r31)
8008A158: E3E10168 psq_l f31,360(r1),0,0
8008A15C: 80010174 lwz r0,372(r1)
8008A160: CBE10160 lfd f31,352(r1)
8008A164: 83E1015C lwz r31,348(r1)
8008A168: 7C0803A6 mtlr r0
8008A16C: 38210170 addi r1,r1,368
8008A170: 4E800020 blr
Call Stacks
80089E30
80089798
800180F0
8001367C
80038760
80038324
80006CBC
80006288
[/spoiler]
Success! We have lift off!
[spoiler]4E00000C 00000000
C2091054 00000004
48000009 461C3C00
7D8802A6 C08C0000
C01F0098 EC00202A
D01F0098 00000000
14000000 00000000
283CB80A DFFF2000
14000000 448AE000
E0000000 80008000
To be edited
[/spoiler]
For now it seems that the Y axis is attached to the set location address... The avatar is everywhere instead of simply floating.
P.S.
Something bizarre happened when I tried the address that precedes this one. I can change the camera's angle with the same address.
So, I think that this address, functions as 2 things. Camera and Y for the Avatar because it caused him to float/teleport.
[spoiler]I got a camera scroller out of all of this
Camera+
4E00000C 00000000
C2089E30 00000004
48000009 41600000
7D8802A6 C02C0000
C01F0098 EC00082A
D01F0098 00000000
14000000 00000000
283CB80A 00000008
14000000 40FFFFFF
E0000000 80008000
Pressing up moves the camera up
Camera-
4E00000C 00000000
C2089E2C 00000005
48000009 3F800000
7D8802A6 C02C0000
C01F0098 EC000828
D01F0098 60000000
60000000 00000000
14000000 00000000
283CB80A 00000004
14000000 40FFFFFF
E0000000 80008000
Pressing down will move the camera down
Camera Height
4E00000C 00000000
C2089E00 00000004
48000009 41600000
7D8802A6 C08C0000
C01F008C EC00202A
D01F008C 00000000
14000000 00000000
283CB80A DFFF2000
14000000 41600000
E0000000 80008000
pressing Z increases height
Decrease Camera height
4E00000C 00000000
C2089E00 00000004
48000009 41600000
7D8802A6 C08C0000
C01F008C EC002028
D01F008C 00000000
14000000 00000000
283CB80A BFFF4000
14000000 41600000
E0000000 80008000
Pressing C decreases height
[/spoiler]
Now I can make sure that this is really the avatars y and not the camera's
So I'm back at square 1.
This is the original Address now with guaranteed certainty. This means this is not the camera's Y but the Avatar's.
[spoiler]803C42E4[/spoiler]
This is the code
[spoiler]4E00000C 00000000
C2135568 00000004
48000009 41600000
7D8802A6 C00C0000
C3B8000C EFA0E82A
D3B8000C 00000000
14000000 00000000
283CB80A 00000008
14000000 41600000
E0000000 80008000[/spoiler]
This is the ASM
[spoiler]bl SKIP_DATA
.float 14.0
SKIP_DATA:
mflr r12
lfs f0,0(r12)
lfs f29,12(r24)
fadds f29,f0,f29
stfs f29,12(r24)[/spoiler]
Registers
[spoiler] CR:84200088 XER:00000000 CTR:80134F5C DSIS:02400000
DAR:803C42E0 SRR0:80135564 SRR1:0000B032 LR:80135020
r0:00000001 r1:8062AE80 r2:8061FA20 r3:803E0000
r4:00000007 r5:00000001 r6:00000000 r7:00000000
r8:52290000 r9:00000000 r10:00000000 r11:8062AFD0
r12:80134F5C r13:8061D200 r14:00000000 r15:00000000
r16:00000000 r17:00000000 r18:00000000 r19:00000000
r20:00000000 r21:00000000 r22:43300000 r23:00000000
r24:803C42D8 r25:803C4348 r26:803C4348 r27:803C4058
r28:FFFFFFFF r29:00000000 r30:803E34D0 r31:803C4058
f0:49742400 f1:3F4417C9 f2:BF4417C9 f3:BEE8B25A
f4:BEE8B25A f5:BEE8B25A f6:C1700000 f7:00000000
f8:00000000 f9:59800000 f10:3F800000 f11:80000000
f12:00000000 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:59800000 f31:3F800000[/spoiler]
Function
[spoiler]80134F5C: 9421FE80 stwu r1,-384(r1)
80134F60: 7C0802A6 mflr r0
80134F64: 90010184 stw r0,388(r1)
80134F68: DBE10170 stfd f31,368(r1)
80134F6C: F3E10178 psq_st f31,376(r1),0,0
80134F70: DBC10160 stfd f30,352(r1)
80134F74: F3C10168 psq_st f30,360(r1),0,0
80134F78: DBA10150 stfd f29,336(r1)
80134F7C: F3A10158 psq_st f29,344(r1),0,0
80134F80: 39610150 addi r11,r1,336
80134F84: 48080DF5 bl 0x801b5d78
80134F88: 880D9740 lbz r0,-26816(r13)
80134F8C: 7C7F1B78 mr r31,r3
80134F90: 7C000775 extsb. r0,r0
80134F94: 40820018 bne- 0x80134fac
80134F98: 3C60803C lis r3,-32708
80134F9C: 38639F00 subi r3,r3,24832
80134FA0: 4BEFF799 bl 0x80034738
80134FA4: 38000001 li r0,1
80134FA8: 980D9740 stb r0,-26816(r13)
80134FAC: 3C60803C lis r3,-32708
80134FB0: 38639F00 subi r3,r3,24832
80134FB4: 8003420C lwz r0,16908(r3)
80134FB8: 2C000000 cmpwi r0,0
80134FBC: 4082000C bne- 0x80134fc8
80134FC0: 38600000 li r3,0
80134FC4: 48000768 b 0x8013572c
80134FC8: 801F0020 lwz r0,32(r31)
80134FCC: 2C000000 cmpwi r0,0
80134FD0: 40820728 bne- 0x801356f8
80134FD4: 386100F8 addi r3,r1,248
80134FD8: 38800004 li r4,4
80134FDC: 38A00001 li r5,1
80134FE0: 38C00000 li r6,0
80134FE4: 480593F5 bl 0x8018e3d8
80134FE8: 3B1F0280 addi r24,r31,640
80134FEC: 3E80803E lis r20,-32706
80134FF0: 907F027C stw r3,636(r31)
80134FF4: 7F1AC378 mr r26,r24
80134FF8: 3B6100F8 addi r27,r1,248
80134FFC: 3A9434D0 addi r20,r20,13520
80135000: 3B200000 li r25,0
80135004: 3B80FFFF li r28,-1
80135008: 480000A4 b 0x801350ac
8013500C: 82BB0000 lwz r21,0(r27)
80135010: 2C150000 cmpwi r21,0
80135014: 41820064 beq- 0x80135078
80135018: 7EA3AB78 mr r3,r21
8013501C: 4BF030ED bl 0x80038108
80135020: 2C030000 cmpwi r3,0
80135024: 41820054 beq- 0x80135078
80135028: 2C150000 cmpwi r21,0
8013502C: 93810078 stw r28,120(r1)
80135030: 40820014 bne- 0x80135044
80135034: 8001007C lwz r0,124(r1)
80135038: 93810070 stw r28,112(r1)
8013503C: 90010074 stw r0,116(r1)
80135040: 48000024 b 0x80135064
80135044: 80950028 lwz r4,40(r21)
80135048: 54801838 rlwinm r0,r4,3,0,28
8013504C: 90810078 stw r4,120(r1)
80135050: 7C740214 add r3,r20,r0
80135054: 80030004 lwz r0,4(r3)
80135058: 90810070 stw r4,112(r1)
8013505C: 9001007C stw r0,124(r1)
80135060: 90010074 stw r0,116(r1)
80135064: 80610070 lwz r3,112(r1)
80135068: 80010074 lwz r0,116(r1)
8013506C: 90610080 stw r3,128(r1)
80135070: 90010084 stw r0,132(r1)
80135074: 48000014 b 0x80135088
80135078: 8001006C lwz r0,108(r1)
8013507C: 93810068 stw r28,104(r1)
80135080: 93810080 stw r28,128(r1)
80135084: 90010084 stw r0,132(r1)
80135088: 80610080 lwz r3,128(r1)
8013508C: 3B7B0004 addi r27,r27,4
80135090: 80010084 lwz r0,132(r1)
80135094: 3B390001 addi r25,r25,1
80135098: 907A0000 stw r3,0(r26)
8013509C: 901A0004 stw r0,4(r26)
801350A0: 3B5A001C addi r26,r26,28
801350A4: 906100A0 stw r3,160(r1)
801350A8: 900100A4 stw r0,164(r1)
801350AC: 801F027C lwz r0,636(r31)
801350B0: 7C190000 cmpw r25,r0
801350B4: 4180FF58 blt+ 0x8013500c
801350B8: 3AE00000 li r23,0
801350BC: 3C60803E lis r3,-32706
801350C0: 3B3F02F0 addi r25,r31,752
801350C4: 92FF0770 stw r23,1904(r31)
801350C8: C3C29350 lfs f30,-27824(r2)
801350CC: 7FFBFB78 mr r27,r31
801350D0: CBA29360 lfd f29,-27808(r2)
801350D4: 7F3ACB78 mr r26,r25
801350D8: 3BC334D0 addi r30,r3,13520
801350DC: 3AC00000 li r22,0
801350E0: 3B80FFFF li r28,-1
801350E4: 3FA04330 lis r29,17200
801350E8: 48000380 b 0x80135468
801350EC: 82BB006C lwz r21,108(r27)
801350F0: 88150BD9 lbz r0,3033(r21)
801350F4: 2C000000 cmpwi r0,0
801350F8: 418200AC beq- 0x801351a4
801350FC: 2C150000 cmpwi r21,0
80135100: 41820064 beq- 0x80135164
80135104: 7EA3AB78 mr r3,r21
80135108: 4BF03001 bl 0x80038108
8013510C: 2C030000 cmpwi r3,0
80135110: 41820054 beq- 0x80135164
80135114: 2C150000 cmpwi r21,0
80135118: 93810058 stw r28,88(r1)
8013511C: 40820014 bne- 0x80135130
80135120: 8001005C lwz r0,92(r1)
80135124: 93810050 stw r28,80(r1)
80135128: 90010054 stw r0,84(r1)
8013512C: 48000024 b 0x80135150
80135130: 80950028 lwz r4,40(r21)
80135134: 54801838 rlwinm r0,r4,3,0,28
80135138: 90810058 stw r4,88(r1)
8013513C: 7C7E0214 add r3,r30,r0
80135140: 80030004 lwz r0,4(r3)
80135144: 90810050 stw r4,80(r1)
80135148: 9001005C stw r0,92(r1)
8013514C: 90010054 stw r0,84(r1)
80135150: 80610050 lwz r3,80(r1)
80135154: 80010054 lwz r0,84(r1)
80135158: 90610060 stw r3,96(r1)
8013515C: 90010064 stw r0,100(r1)
80135160: 48000014 b 0x80135174
80135164: 8001004C lwz r0,76(r1)
80135168: 93810048 stw r28,72(r1)
8013516C: 93810060 stw r28,96(r1)
80135170: 90010064 stw r0,100(r1)
80135174: 801F0770 lwz r0,1904(r31)
80135178: 80A10060 lwz r5,96(r1)
8013517C: 54001838 rlwinm r0,r0,3,0,28
80135180: 80810064 lwz r4,100(r1)
80135184: 7C7F0214 add r3,r31,r0
80135188: 90A10098 stw r5,152(r1)
8013518C: 90A306F0 stw r5,1776(r3)
80135190: 908306F4 stw r4,1780(r3)
80135194: 807F0770 lwz r3,1904(r31)
80135198: 9081009C stw r4,156(r1)
8013519C: 38030001 addi r0,r3,1
801351A0: 901F0770 stw r0,1904(r31)
801351A4: 88152C54 lbz r0,11348(r21)
801351A8: 28000003 cmplwi r0,3
801351AC: 408201CC bne- 0x80135378
801351B0: 801F027C lwz r0,636(r31)
801351B4: 7FE5FB78 mr r5,r31
801351B8: 3A800000 li r20,0
801351BC: 7C0903A6 mtctr r0
801351C0: 2C000000 cmpwi r0,0
801351C4: 408101B4 ble- 0x80135378
801351C8: 80152C58 lwz r0,11352(r21)
801351CC: 80752C5C lwz r3,11356(r21)
801351D0: 2C000000 cmpwi r0,0
801351D4: 40800014 bge- 0x801351e8
801351D8: 2C000400 cmpwi r0,1024
801351DC: 4180000C blt- 0x801351e8
801351E0: 38600000 li r3,0
801351E4: 48000024 b 0x80135208
801351E8: 54001838 rlwinm r0,r0,3,0,28
801351EC: 7C9E0214 add r4,r30,r0
801351F0: 80040004 lwz r0,4(r4)
801351F4: 7C030040 cmplw r3,r0
801351F8: 4182000C beq- 0x80135204
801351FC: 38600000 li r3,0
80135200: 48000008 b 0x80135208
80135204: 80640000 lwz r3,0(r4)
80135208: 80050280 lwz r0,640(r5)
8013520C: 80850284 lwz r4,644(r5)
80135210: 2C000000 cmpwi r0,0
80135214: 40800014 bge- 0x80135228
80135218: 2C000400 cmpwi r0,1024
8013521C: 4180000C blt- 0x80135228
80135220: 38000000 li r0,0
80135224: 48000024 b 0x80135248
80135228: 54001838 rlwinm r0,r0,3,0,28
8013522C: 7CDE0214 add r6,r30,r0
80135230: 80060004 lwz r0,4(r6)
80135234: 7C040040 cmplw r4,r0
80135238: 4182000C beq- 0x80135244
8013523C: 38000000 li r0,0
80135240: 48000008 b 0x80135248
80135244: 80060000 lwz r0,0(r6)
80135248: 7C030040 cmplw r3,r0
8013524C: 40820120 bne- 0x8013536c
80135250: 2C150000 cmpwi r21,0
80135254: 9A9A0000 stb r20,0(r26)
80135258: 41820064 beq- 0x801352bc
8013525C: 7EA3AB78 mr r3,r21
80135260: 4BF02EA9 bl 0x80038108
80135264: 2C030000 cmpwi r3,0
80135268: 41820054 beq- 0x801352bc
8013526C: 2C150000 cmpwi r21,0
80135270: 93810038 stw r28,56(r1)
80135274: 40820014 bne- 0x80135288
80135278: 8001003C lwz r0,60(r1)
8013527C: 93810030 stw r28,48(r1)
80135280: 90010034 stw r0,52(r1)
80135284: 48000024 b 0x801352a8
80135288: 80950028 lwz r4,40(r21)
8013528C: 54801838 rlwinm r0,r4,3,0,28
80135290: 90810038 stw r4,56(r1)
80135294: 7C7E0214 add r3,r30,r0
80135298: 80030004 lwz r0,4(r3)
8013529C: 90810030 stw r4,48(r1)
801352A0: 9001003C stw r0,60(r1)
801352A4: 90010034 stw r0,52(r1)
801352A8: 80610030 lwz r3,48(r1)
801352AC: 80010034 lwz r0,52(r1)
801352B0: 90610040 stw r3,64(r1)
801352B4: 90010044 stw r0,68(r1)
801352B8: 48000014 b 0x801352cc
801352BC: 8001002C lwz r0,44(r1)
801352C0: 93810028 stw r28,40(r1)
801352C4: 93810040 stw r28,64(r1)
801352C8: 90010044 stw r0,68(r1)
801352CC: 80810040 lwz r4,64(r1)
801352D0: 1C14001C mulli r0,r20,28
801352D4: 80610044 lwz r3,68(r1)
801352D8: 909A0004 stw r4,4(r26)
801352DC: 7CBF0214 add r5,r31,r0
801352E0: 907A0008 stw r3,8(r26)
801352E4: 80050280 lwz r0,640(r5)
801352E8: 90810090 stw r4,144(r1)
801352EC: 2C000000 cmpwi r0,0
801352F0: 80850284 lwz r4,644(r5)
801352F4: 90610094 stw r3,148(r1)
801352F8: 40800014 bge- 0x8013530c
801352FC: 2C000400 cmpwi r0,1024
80135300: 4180000C blt- 0x8013530c
80135304: 38E00000 li r7,0
80135308: 48000024 b 0x8013532c
8013530C: 54001838 rlwinm r0,r0,3,0,28
80135310: 7C7E0214 add r3,r30,r0
80135314: 80030004 lwz r0,4(r3)
80135318: 7C040040 cmplw r4,r0
8013531C: 4182000C beq- 0x80135328
80135320: 38E00000 li r7,0
80135324: 48000008 b 0x8013532c
80135328: 80E30000 lwz r7,0(r3)
8013532C: 80C70050 lwz r6,80(r7)
80135330: 386100E8 addi r3,r1,232
80135334: 80070054 lwz r0,84(r7)
80135338: 388100DC addi r4,r1,220
8013533C: 38B50050 addi r5,r21,80
80135340: 90C100DC stw r6,220(r1)
80135344: 900100E0 stw r0,224(r1)
80135348: 80070058 lwz r0,88(r7)
8013534C: 900100E4 stw r0,228(r1)
....
80135474: 3877FFFF subi r3,r23,1
80135478: 39200000 li r9,0
8013547C: 480000AC b 0x80135528
80135480: 39490001 addi r10,r9,1
80135484: 55402036 rlwinm r0,r10,4,0,27
80135488: 7C9F0214 add r4,r31,r0
8013548C: 7C0AB850 sub r0,r23,r10
80135490: 390402F0 addi r8,r4,752
80135494: 7C0903A6 mtctr r0
80135498: 7C0AB800 cmpw r10,r23
8013549C: 40800084 bge- 0x80135520
801354A0: 88190000 lbz r0,0(r25)
801354A4: 88880000 lbz r4,0(r8)
801354A8: 7C040040 cmplw r4,r0
801354AC: 41800018 blt- 0x801354c4
801354B0: 40820064 bne- 0x80135514
801354B4: C028000C lfs f1,12(r8)
801354B8: C019000C lfs f0,12(r25)
801354BC: FC010040 fcmpo cr0,f1,f0
801354C0: 40800054 bge- 0x80135514
801354C4: 88F90000 lbz r7,0(r25)
801354C8: 80D90004 lwz r6,4(r25)
801354CC: 80B90008 lwz r5,8(r25)
801354D0: C039000C lfs f1,12(r25)
801354D4: 88080000 lbz r0,0(r8)
801354D8: 98E100A8 stb r7,168(r1)
801354DC: 98190000 stb r0,0(r25)
801354E0: 80880004 lwz r4,4(r8)
801354E4: 80080008 lwz r0,8(r8)
801354E8: 90C100AC stw r6,172(r1)
801354EC: 90990004 stw r4,4(r25)
801354F0: 90190008 stw r0,8(r25)
801354F4: C008000C lfs f0,12(r8)
801354F8: 90A100B0 stw r5,176(r1)
801354FC: D019000C stfs f0,12(r25)
80135500: 98E80000 stb r7,0(r8)
80135504: 90C80004 stw r6,4(r8)
80135508: 90A80008 stw r5,8(r8)
8013550C: D02100B4 stfs f1,180(r1)
80135510: D028000C stfs f1,12(r8)
80135514: 39080010 addi r8,r8,16
80135518: 394A0001 addi r10,r10,1
8013551C: 4200FF84 bdnz+ 0x801354a0
80135520: 3B390010 addi r25,r25,16
80135524: 39290001 addi r9,r9,1
80135528: 7C091800 cmpw r9,r3
8013552C: 4180FF54 blt+ 0x80135480
80135530: 3C60803E lis r3,-32706
80135534: CBC29388 lfd f30,-27768(r2)
80135538: C3E29358 lfs f31,-27816(r2)
8013553C: 7FFBFB78 mr r27,r31
80135540: C3A29350 lfs f29,-27824(r2)
80135544: 3BC334D0 addi r30,r3,13520
80135548: 3A800000 li r20,0
8013554C: 3AA00000 li r21,0
80135550: 3EC04330 lis r22,17200
80135554: 3BA00000 li r29,0
80135558: 48000180 b 0x801356d8
8013555C: B2980014 sth r20,20(r24)
80135560: B3B80016 sth r29,22(r24)
80135564: D3B80008 stfs f29,8(r24) ---->un-exact write break (one address prior to the Y's address)
80135568: D3B8000C stfs f29,12(r24) ----> This is the Y address
8013556C: D3A100D0 stfs f29,208(r1)
80135570: D3A100D4 stfs f29,212(r1)
80135574: D3A100D8 stfs f29,216(r1)
80135578: D3B80010 stfs f29,16(r24)
8013557C: 480000AC b 0x80135628
80135580: 881B02F0 lbz r0,752(r27)
80135584: 7C150000 cmpw r21,r0
80135588: 408200A8 bne- 0x80135630
8013558C: 801B02F4 lwz r0,756(r27)
80135590: 807B02F8 lwz r3,760(r27)
80135594: 2C000000 cmpwi r0,0
80135598: 40800014 bge- 0x801355ac
8013559C: 2C000400 cmpwi r0,1024
801355A0: 4180000C blt- 0x801355ac
801355A4: 3B800000 li r28,0
801355A8: 48000024 b 0x801355cc
801355AC: 54001838 rlwinm r0,r0,3,0,28
801355B0: 7C9E0214 add r4,r30,r0
801355B4: 80040004 lwz r0,4(r4)
801355B8: 7C030040 cmplw r3,r0
801355BC: 4182000C beq- 0x801355c8
801355C0: 3B800000 li r28,0
801355C4: 48000008 b 0x801355cc
801355C8: 83840000 lwz r28,0(r4)
801355CC: 80DC0050 lwz r6,80(r28)
801355D0: 38780008 addi r3,r24,8
801355D4: 801C0054 lwz r0,84(r28)
801355D8: 7C641B78 mr r4,r3
801355DC: 38A100C4 addi r5,r1,196
801355E0: 90C100C4 stw r6,196(r1)
801355E4: 900100C8 stw r0,200(r1)
801355E8: 801C0058 lwz r0,88(r28)
801355EC: 900100CC stw r0,204(r1)
801355F0: 4BF53275 bl 0x80088864
801355F4: A0780016 lhz r3,22(r24)
801355F8: 3B7B0010 addi r27,r27,16
801355FC: 3A940001 addi r20,r20,1
80135600: 3803FFFA subi r0,r3,6
80135604: 54000FFE rlwinm r0,r0,1,31,31
80135608: 981C2C99 stb r0,11417(r28)
8013560C: A0180016 lhz r0,22(r24)
80135610: 20000001 subfic r0,r0,1
80135614: 54000FFE rlwinm r0,r0,1,31,31
80135618: 981C2C9A stb r0,11418(r28)
8013561C: A0780016 lhz r3,22(r24)
80135620: 38030001 addi r0,r3,1
80135624: B0180016 sth r0,22(r24)
80135628: 7C14B800 cmpw r20,r23
8013562C: 4180FF54 blt+ 0x80135580
80135630: A0180016 lhz r0,22(r24)
80135634: 2C000000 cmpwi r0,0
80135638: 41820028 beq- 0x80135660
8013563C: 90010114 stw r0,276(r1)
80135640: 38780008 addi r3,r24,8
80135644: 7C641B78 mr r4,r3
80135648: 92C10110 stw r22,272(r1)
8013564C: C8010110 lfd f0,272(r1)
80135650: EC00F028 fsubs f0,f0,f30
80135654: EC3F0024 fdivs f1,f31,f0
80135658: 4BF53255 bl 0x800888ac
8013565C: 48000074 b 0x801356d0
80135660: 80180000 lwz r0,0(r24)
80135664: 80780004 lwz r3,4(r24)
80135668: 2C000000 cmpwi r0,0
8013566C: 40800014 bge- 0x80135680
80135670: 2C000400 cmpwi r0,1024
80135674: 4180000C blt- 0x80135680
80135678: 38800000 li r4,0
8013567C: 48000024 b 0x801356a0
80135680: 54001838 rlwinm r0,r0,3,0,28
80135684: 7C9E0214 add r4,r30,r0
80135688: 80040004 lwz r0,4(r4)
8013568C: 7C030040 cmplw r3,r0
80135690: 4182000C beq- 0x8013569c
80135694: 38800000 li r4,0
80135698: 48000008 b 0x801356a0
8013569C: 80840000 lwz r4,0(r4)
801356A0: 80040050 lwz r0,80(r4)
801356A4: 80640054 lwz r3,84(r4)
801356A8: 900100B8 stw r0,184(r1)
801356AC: 80040058 lwz r0,88(r4)
801356B0: 906100BC stw r3,188(r1)
801356B4: C00100B8 lfs f0,184(r1)
801356B8: 900100C0 stw r0,192(r1)
801356BC: C02100BC lfs f1,188(r1)
801356C0: D0180008 stfs f0,8(r24)
801356C4: C00100C0 lfs f0,192(r1)
801356C8: D038000C stfs f1,12(r24) -------------> this is the second time that the address is stored at
801356CC: D0180010 stfs f0,16(r24)
801356D0: 3B18001C addi r24,r24,28
801356D4: 3AB50001 addi r21,r21,1
801356D8: 801F027C lwz r0,636(r31)
801356DC: 7C150000 cmpw r21,r0
801356E0: 4180FE7C blt+ 0x8013555c
801356E4: 38000000 li r0,0
801356E8: 7FE3FB78 mr r3,r31
801356EC: 901F13F0 stw r0,5104(r31)
801356F0: 480006C5 bl 0x80135db4
801356F4: 48000034 b 0x80135728
801356F8: 7FE4FB78 mr r4,r31
801356FC: 38A00000 li r5,0
80135700: 38600000 li r3,0
80135704: 48000010 b 0x80135714
80135708: 98640298 stb r3,664(r4)
8013570C: 3884001C addi r4,r4,28
80135710: 38A50001 addi r5,r5,1
80135714: 801F027C lwz r0,636(r31)
80135718: 7C050000 cmpw r5,r0
8013571C: 4180FFEC blt+ 0x80135708
80135720: 7FE3FB78 mr r3,r31
80135724: 480005A1 bl 0x80135cc4
80135728: 38600000 li r3,0
8013572C: E3E10178 psq_l f31,376(r1),0,0
80135730: CBE10170 lfd f31,368(r1)
80135734: E3C10168 psq_l f30,360(r1),0,0
80135738: CBC10160 lfd f30,352(r1)
8013573C: E3A10158 psq_l f29,344(r1),0,0
80135740: 39610150 addi r11,r1,336
80135744: CBA10150 lfd f29,336(r1)
80135748: 4808067D bl 0x801b5dc4
8013574C: 80010184 lwz r0,388(r1)
80135750: 7C0803A6 mtlr r0
80135754: 38210180 addi r1,r1,384
80135758: 4E800020 blr
Stack
80135564
80038760
80038324
80006CBC
80006288
[/spoiler]
but nothing happens. no value change, nothing. What's going wrong, or over shadowing the asm code.
I was able to increase the value at the address with the second float store.
code 1
[spoiler]4E00000C 00000000
C2135568 00000004
48000009 41600000
7D8802A6 C00C0000
C3B8000C EFA0E82A
D3B8000C 00000000
14000000 00000000
283CB80A DFFF2000
14000000 41600000
E0000000 80008000[/spoiler]
+code 2
[spoiler]4E00000C 00000000
C2135568 00000004
48000009 41600000
7D8802A6 C00C0000
C3B8000C EFA0E82A
D3B8000C 00000000
14000000 00000000
283CB80A DFFF2000
14000000 41600000
E0000000 80008000
[/spoiler]
Together they still increase the value but the avatar is not moving.
Alright anybody, Dcx2. Thank you for all the help you've given me for this code.
Here is where I'm stuck at now.
I've got this address which is more likely to be the y axis for the avatar now that I can stop the camera from moving.
Break exact
Registers
[spoiler]CR:48200042 XER:00000000 CTR:80013AD8 DSIS:02400000
DAR:8062A010 SRR0:80088FB8 SRR1:0000B032 LR:80023D1C
r0:80023AD8 r1:8062A030 r2:8061FA20 r3:8062A108
r4:8062A0F8 r5:8062A0F8 r6:00000000 r7:00000008
r8:00000012 r9:92D67BE0 r10:00000010 r11:00000006
r12:80013AD8 r13:8061D200 r14:00000000 r15:00000000
r16:00000000 r17:00000000 r18:00000000 r19:00000000
r20:00000000 r21:00000000 r22:00000000 r23:00000000
r24:90455B00 r25:92D68128 r26:9045B940 r27:00000002
r28:00000017 r29:8062A118 r30:8062A108 r31:8062A0F8
f0:358637BD f1:3F7FFFFD f2:3A1CC471 f3:40400000
f4:4000020F f5:3F000000 f6:3D2AAAA4 f7:3AB609BA
f8:37CFB5A1 f9:3ECDB4B9 f10:3F79D777 f11:3E5F40F5
f12:3F9423FB f13:472CF642 f14:00000000 f15:00000000
f16:00000000 f17:00000000 f18:00000000 f19:00000000
f20:00000000 f21:00000000 f22:00000000 f23:00000000
f24:42C708B5 f25:3F800000 f26:00000000 f27:00000000
f28:00000000 f29:3F7FFFFD f30:3F1D3307 f31:3A1CC471[/spoiler]
Function Write
[spoiler]80088FB8: 9421FFE0 stwu r1,-32(r1) ----> it breaks at the beginning!! O0
80088FBC: 7C0802A6 mflr r0
80088FC0: C00289AC lfs f0,-30292(r2)
80088FC4: 90010024 stw r0,36(r1)
80088FC8: FC010040 fcmpo cr0,f1,f0
80088FCC: 408000A0 bge- 0x8008906c
80088FD0: FCE00850 fneg f7,f1
80088FD4: FC070040 fcmpo cr0,f7,f0
80088FD8: 40800018 bge- 0x80088ff0
80088FDC: FC203850 fneg f1,f7
80088FE0: 4BFFFFD9 bl 0x80088fb8
80088FE4: C00289D0 lfs f0,-30256(r2)
80088FE8: EC200828 fsubs f1,f0,f1
80088FEC: 48000074 b 0x80089060
80088FF0: C00289D4 lfs f0,-30252(r2)
80088FF4: 3C004330 lis r0,17200
80088FF8: 3C808040 lis r4,-32704
80088FFC: 90010010 stw r0,16(r1)
80089000: EC0001F2 fmuls f0,f0,f7
80089004: C8C289C8 lfd f6,-30264(r2)
80089008: 38840708 addi r4,r4,1800
8008900C: C08289C0 lfs f4,-30272(r2)
80089010: C02289D8 lfs f1,-30248(r2)
80089014: FC60001E fctiwz f3,f0
80089018: C00289A8 lfs f0,-30296(r2)
8008901C: D8610008 stfd f3,8(r1)
80089020: 8061000C lwz r3,12(r1)
80089024: 6C608000 xoris r0,r3,32768
80089028: 54651838 rlwinm r5,r3,3,0,28
8008902C: 90010014 stw r0,20(r1)
80089030: 7C642A14 add r3,r4,r5
80089034: C0630004 lfs f3,4(r3)
80089038: C8A10010 lfd f5,16(r1)
8008903C: EC6700F2 fmuls f3,f7,f3
80089040: 7CE42C2E lfsx f7,r4,r5
80089044: ECA53028 fsubs f5,f5,f6
80089048: EC850132 fmuls f4,f5,f4
8008904C: EC621938 fmsubs f3,f2,f4,f3
80089050: EC4300F2 fmuls f2,f3,f3
80089054: EC220824 fdivs f1,f2,f1
80089058: EC00082A fadds f0,f0,f1
8008905C: EC23383A fmadds f1,f3,f0,f7
80089060: C00289D0 lfs f0,-30256(r2)
80089064: EC200828 fsubs f1,f0,f1
80089068: 48000074 b 0x800890dc
8008906C: C00289D4 lfs f0,-30252(r2)
80089070: 3C004330 lis r0,17200
80089074: 3C808040 lis r4,-32704
80089078: 90010008 stw r0,8(r1)
8008907C: EC000072 fmuls f0,f0,f1
80089080: C8C289C8 lfd f6,-30264(r2)
80089084: 38840708 addi r4,r4,1800
80089088: C08289C0 lfs f4,-30272(r2)
8008908C: C06289D8 lfs f3,-30248(r2)
80089090: FCA0001E fctiwz f5,f0
80089094: C00289A8 lfs f0,-30296(r2)
80089098: D8A10010 stfd f5,16(r1)
8008909C: 80610014 lwz r3,20(r1)
800890A0: 6C608000 xoris r0,r3,32768
800890A4: 54651838 rlwinm r5,r3,3,0,28
800890A8: 9001000C stw r0,12(r1)
800890AC: 7C642A14 add r3,r4,r5
800890B0: C0E30004 lfs f7,4(r3)
800890B4: C8A10008 lfd f5,8(r1)
800890B8: EC2101F2 fmuls f1,f1,f7
800890BC: 7CE42C2E lfsx f7,r4,r5
800890C0: ECA53028 fsubs f5,f5,f6
800890C4: EC850132 fmuls f4,f5,f4
800890C8: EC420938 fmsubs f2,f2,f4,f1
800890CC: EC2200B2 fmuls f1,f2,f2
800890D0: EC211824 fdivs f1,f1,f3
800890D4: EC00082A fadds f0,f0,f1
800890D8: EC22383A fmadds f1,f2,f0,f7
800890DC: 80010024 lwz r0,36(r1)
800890E0: 7C0803A6 mtlr r0
800890E4: 38210020 addi r1,r1,32
800890E8: 4E800020 blr
[/spoiler]
This is the code I have
[spoiler]040EED88 80088FB8 --->anti code
283CB80A 00000008 ---> button up activator
C20EED88 00000002 --->stwu address
9581FFE0 3D8C270F
91810000 00000000
E0000000 80008000
Looks like this
800EED88
stwu r12,-32(r1)
addis r12,r12,9999
stw r12,0x(r1)
[/spoiler]
But nothing happens. I think that I didn't stack right/assemble right.
Function Read
[spoiler]Function Read
[spoiler]800910C0: 9421FDE0 stwu r1,-544(r1)
800910C4: DBE10210 stfd f31,528(r1)
800910C8: F3E10218 psq_st f31,536(r1),0,0
800910CC: DBC10200 stfd f30,512(r1)
800910D0: F3C10208 psq_st f30,520(r1),0,0
800910D4: DBA101F0 stfd f29,496(r1)
800910D8: F3A101F8 psq_st f29,504(r1),0,0
800910DC: DB8101E0 stfd f28,480(r1)
800910E0: F38101E8 psq_st f28,488(r1),0,0
800910E4: DB6101D0 stfd f27,464(r1)
800910E8: F36101D8 psq_st f27,472(r1),0,0
800910EC: DB4101C0 stfd f26,448(r1)
800910F0: F34101C8 psq_st f26,456(r1),0,0
800910F4: DB2101B0 stfd f25,432(r1)
800910F8: F32101B8 psq_st f25,440(r1),0,0
800910FC: DB0101A0 stfd f24,416(r1)
80091100: F30101A8 psq_st f24,424(r1),0,0
80091104: 38000000 li r0,0
80091108: 54842036 rlwinm r4,r4,4,0,27
8009110C: 93E1019C stw r31,412(r1)
80091110: 93C10198 stw r30,408(r1)
80091114: 93A10194 stw r29,404(r1)
80091118: 90080000 stw r0,0(r8)
8009111C: 81230008 lwz r9,8(r3)
80091120: 7D692214 add r11,r9,r4
80091124: 808B000C lwz r4,12(r11)
80091128: 5484073E rlwinm r4,r4,0,28,31
8009112C: 2804000A cmplwi r4,10
80091130: 4182000C beq- 0x8009113c
80091134: 38600000 li r3,0
80091138: 48000788 b 0x800918c0
8009113C: A88B0008 lha r4,8(r11)
80091140: 2C040000 cmpwi r4,0
80091144: 4080000C bge- 0x80091150
80091148: 38600000 li r3,0
8009114C: 48000774 b 0x800918c0
80091150: A12B0002 lhz r9,2(r11)
80091154: A14B0000 lhz r10,0(r11)
80091158: A08B0004 lhz r4,4(r11)
8009115C: 8163000C lwz r11,12(r3)
80091160: 1D4A000C mulli r10,r10,12
80091164: C0650000 lfs f3,0(r5)
80091168: C0450004 lfs f2,4(r5)
8009116C: 7FAB5214 add r29,r11,r10
80091170: 7C0B542E lfsx f0,r11,r10
80091174: 1C69000C mulli r3,r9,12
80091178: C09D0008 lfs f4,8(r29)
8009117C: D0010140 stfs f0,320(r1)
80091180: C0028B74 lfs f0,-29836(r2)
80091184: 7FCB1A14 add r30,r11,r3
80091188: 81810140 lwz r12,320(r1)
8009118C: 1C64000C mulli r3,r4,12
80091190: C0FE0000 lfs f7,0(r30)
80091194: C0DE0008 lfs f6,8(r30)
80091198: D0E10138 stfs f7,312(r1)
8009119C: 7FEB1A14 add r31,r11,r3
800911A0: 7CAB1C2E lfsx f5,r11,r3
800911A4: D0810144 stfs f4,324(r1)
800911A8: C09F0008 lfs f4,8(r31)
800911AC: 81410138 lwz r10,312(r1)
800911B0: D0C1013C stfs f6,316(r1)
800911B4: 81610144 lwz r11,324(r1)
800911B8: D0A10130 stfs f5,304(r1)
800911BC: 8121013C lwz r9,316(r1)
800911C0: D0810134 stfs f4,308(r1)
800911C4: 80810130 lwz r4,304(r1)
800911C8: 91810158 stw r12,344(r1)
800911CC: 80610134 lwz r3,308(r1)
800911D0: C1810158 lfs f12,344(r1)
800911D4: 91410150 stw r10,336(r1)
800911D8: EC636028 fsubs f3,f3,f12
800911DC: C1410150 lfs f10,336(r1)
800911E0: 9161015C stw r11,348(r1)
800911E4: EC8A6028 fsubs f4,f10,f12
800911E8: C161015C lfs f11,348(r1)
800911EC: 91210154 stw r9,340(r1)
800911F0: EC425828 fsubs f2,f2,f11
800911F4: C1210154 lfs f9,340(r1)
800911F8: 90810148 stw r4,328(r1)
800911FC: ECC95828 fsubs f6,f9,f11
80091200: C1010148 lfs f8,328(r1)
80091204: 9061014C stw r3,332(r1)
80091208: ECA86028 fsubs f5,f8,f12
8009120C: C0E1014C lfs f7,332(r1)
80091210: D08100F8 stfs f4,248(r1)
80091214: EC875828 fsubs f4,f7,f11
80091218: 818100F8 lwz r12,248(r1)
8009121C: D0C100FC stfs f6,252(r1)
80091220: 816100FC lwz r11,252(r1)
80091224: D0A100F0 stfs f5,240(r1)
80091228: 814100F0 lwz r10,240(r1)
8009122C: D08100F4 stfs f4,244(r1)
80091230: 812100F4 lwz r9,244(r1)
80091234: D06100E8 stfs f3,232(r1)
80091238: D04100EC stfs f2,236(r1)
8009123C: 808100E8 lwz r4,232(r1)
80091240: 806100EC lwz r3,236(r1)
80091244: 93A10168 stw r29,360(r1)
80091248: 93C1016C stw r30,364(r1)
8009124C: 93E10170 stw r31,368(r1)
80091250: D1810178 stfs f12,376(r1)
80091254: D161017C stfs f11,380(r1)
80091258: D1410180 stfs f10,384(r1)
8009125C: D1210184 stfs f9,388(r1)
80091260: D1010188 stfs f8,392(r1)
80091264: D0E1018C stfs f7,396(r1)
80091268: 91810110 stw r12,272(r1)
8009126C: 91610114 stw r11,276(r1)
80091270: 91810128 stw r12,296(r1)
80091274: 9161012C stw r11,300(r1)
80091278: 91410108 stw r10,264(r1)
8009127C: 9121010C stw r9,268(r1)
80091280: 91410120 stw r10,288(r1)
80091284: 91210124 stw r9,292(r1)
80091288: 90810100 stw r4,256(r1)
8009128C: 90610104 stw r3,260(r1)
80091290: C061012C lfs f3,300(r1)
80091294: FC400050 fneg f2,f0
80091298: C0C10120 lfs f6,288(r1)
8009129C: FC801850 fneg f4,f3
800912A0: 9061011C stw r3,284(r1)
800912A4: EC6600F2 fmuls f3,f6,f3
800912A8: C1410128 lfs f10,296(r1)
800912AC: C1210124 lfs f9,292(r1)
800912B0: C1028B78 lfs f8,-29832(r2)
800912B4: ECAA1A78 fmsubs f5,f10,f9,f3
800912B8: C0E1011C lfs f7,284(r1)
800912BC: 90810118 stw r4,280(r1)
800912C0: EC6601F2 fmuls f3,f6,f7
800912C4: ED682824 fdivs f11,f8,f5
800912C8: C0C10118 lfs f6,280(r1)
800912CC: ECA919B8 fmsubs f5,f9,f6,f3
800912D0: EC6A01F2 fmuls f3,f10,f7
800912D4: ECAB0172 fmuls f5,f11,f5
800912D8: EC6419BA fmadds f3,f4,f6,f3
800912DC: FC051040 fcmpo cr0,f5,f2
800912E0: ECCB00F2 fmuls f6,f11,f3
800912E4: 40810020 ble- 0x80091304
800912E8: FC061040 fcmpo cr0,f6,f2
800912EC: 40810018 ble- 0x80091304
800912F0: EC45302A fadds f2,f5,f6
800912F4: EC08002A fadds f0,f8,f0
800912F8: FC020040 fcmpo cr0,f2,f0
800912FC: 40800008 bge- 0x80091304
80091300: 38000001 li r0,1
80091304: 2C000000 cmpwi r0,0
80091308: 418201E8 beq- 0x800914f0
8009130C: C0028B78 lfs f0,-29832(r2)
80091310: 8061016C lwz r3,364(r1)
80091314: EC402828 fsubs f2,f0,f5
80091318: 80810168 lwz r4,360(r1)
8009131C: C0030004 lfs f0,4(r3)
80091320: 80610170 lwz r3,368(r1)
80091324: EC823028 fsubs f4,f2,f6
80091328: C0440004 lfs f2,4(r4)
8009132C: EC650032 fmuls f3,f5,f0
80091330: C0030004 lfs f0,4(r3)
80091334: EC42193A fmadds f2,f2,f4,f3
80091338: EC46103A fmadds f2,f6,f0,f2
8009133C: FC020840 fcmpo cr0,f2,f1
80091340: 4080002C bge- 0x8009136c
80091344: 80080000 lwz r0,0(r8)
80091348: C0028B80 lfs f0,-29824(r2)
8009134C: 5400103A rlwinm r0,r0,2,0,29
80091350: 7C46052E stfsx f2,r6,r0
80091354: 80080000 lwz r0,0(r8)
80091358: 5400103A rlwinm r0,r0,2,0,29
8009135C: 7C07052E stfsx f0,r7,r0
80091360: 80680000 lwz r3,0(r8)
80091364: 38030001 addi r0,r3,1
80091368: 90080000 stw r0,0(r8)
8009136C: C0E10178 lfs f7,376(r1)
80091370: 38000000 li r0,0
80091374: C0010188 lfs f0,392(r1)
80091378: C0610184 lfs f3,388(r1)
8009137C: EC403828 fsubs f2,f0,f7
80091380: C081017C lfs f4,380(r1)
80091384: C0A10180 lfs f5,384(r1)
80091388: EC632028 fsubs f3,f3,f4
8009138C: C001018C lfs f0,396(r1)
80091390: D04100A8 stfs f2,168(r1)
80091394: EC402028 fsubs f2,f0,f4
80091398: C005000C lfs f0,12(r5)
8009139C: ECC53828 fsubs f6,f5,f7
800913A0: 814100A8 lwz r10,168(r1)
800913A4: ECA02028 fsubs f5,f0,f4
800913A8: D06100B4 stfs f3,180(r1)
800913AC: C0050008 lfs f0,8(r5)
800913B0: 816100B4 lwz r11,180(r1)
800913B4: D0C100B0 stfs f6,176(r1)
800913B8: ED203828 fsubs f9,f0,f7
800913BC: C1428B74 lfs f10,-29836(r2)
800913C0: 818100B0 lwz r12,176(r1)
800913C4: D04100AC stfs f2,172(r1)
800913C8: FC005050 fneg f0,f10
800913CC: C0C28B78 lfs f6,-29832(r2)
800913D0: 812100AC lwz r9,172(r1)
800913D4: 916100E4 stw r11,228(r1)
800913D8: 914100D8 stw r10,216(r1)
800913DC: C04100E4 lfs f2,228(r1)
800913E0: 918100E0 stw r12,224(r1)
800913E4: C08100D8 lfs f4,216(r1)
800913E8: FC601050 fneg f3,f2
800913EC: 912100DC stw r9,220(r1)
800913F0: EC4400B2 fmuls f2,f4,f2
800913F4: C10100E0 lfs f8,224(r1)
800913F8: C0E100DC lfs f7,220(r1)
800913FC: D12100A0 stfs f9,160(r1)
80091400: EC4811F8 fmsubs f2,f8,f7,f2
80091404: 808100A0 lwz r4,160(r1)
80091408: D0A100A4 stfs f5,164(r1)
8009140C: ED261024 fdivs f9,f6,f2
80091410: 806100A4 lwz r3,164(r1)
80091414: 908100D0 stw r4,208(r1)
80091418: 906100D4 stw r3,212(r1)
8009141C: C0A100D0 lfs f5,208(r1)
80091420: C04100D4 lfs f2,212(r1)
80091424: EC8400B2 fmuls f4,f4,f2
80091428: 918100C8 stw r12,200(r1)
8009142C: EC4800B2 fmuls f2,f8,f2
80091430: 916100CC stw r11,204(r1)
80091434: EC872178 fmsubs f4,f7,f5,f4
80091438: EC43117A fmadds f2,f3,f5,f2
8009143C: 914100C0 stw r10,192(r1)
80091440: EC690132 fmuls f3,f9,f4
80091444: 912100C4 stw r9,196(r1)
80091448: EC8900B2 fmuls f4,f9,f2
8009144C: 908100B8 stw r4,184(r1)
80091450: FC030040 fcmpo cr0,f3,f0
80091454: 906100BC stw r3,188(r1)
80091458: 40810020 ble- 0x80091478
8009145C: FC040040 fcmpo cr0,f4,f0
80091460: 40810018 ble- 0x80091478
80091464: EC43202A fadds f2,f3,f4
80091468: EC06502A fadds f0,f6,f10
8009146C: FC020040 fcmpo cr0,f2,f0
80091470: 40800008 bge- 0x80091478
80091474: 38000001 li r0,1
80091478: 2C000000 cmpwi r0,0
8009147C: 418201E4 beq- 0x80091660
80091480: C0C28B78 lfs f6,-29832(r2)
80091484: 8061016C lwz r3,364(r1)
80091488: EC461828 fsubs f2,f6,f3
8009148C: 80810168 lwz r4,360(r1)
80091490: C0030004 lfs f0,4(r3)
80091494: 80610170 lwz r3,368(r1)
80091498: ECA22028 fsubs f5,f2,f4
8009149C: C0440004 lfs f2,4(r4)
800914A0: EC630032 fmuls f3,f3,f0
800914A4: C0030004 lfs f0,4(r3)
800914A8: EC42197A fmadds f2,f2,f5,f3
800914AC: EC04103A fmadds f0,f4,f0,f2
800914B0: FC000840 fcmpo cr0,f0,f1
800914B4: 40800028 bge- 0x800914dc
800914B8: 80080000 lwz r0,0(r8)
800914BC: 5400103A rlwinm r0,r0,2,0,29
800914C0: 7C06052E stfsx f0,r6,r0
800914C4: 80080000 lwz r0,0(r8)
800914C8: 5400103A rlwinm r0,r0,2,0,29
800914CC: 7CC7052E stfsx f6,r7,r0
800914D0: 80680000 lwz r3,0(r8)
800914D4: 38030001 addi r0,r3,1
800914D8: 90080000 stw r0,0(r8)
800914DC: 80680000 lwz r3,0(r8)
800914E0: 7C0300D0 neg r0,r3
800914E4: 7C001878 andc r0,r0,r3
800914E8: 54030FFE rlwinm r3,r0,1,31,31
800914EC: 480003D4 b 0x800918c0
800914F0: C0E10178 lfs f7,376(r1)
800914F4: 38000000 li r0,0
800914F8: C0010188 lfs f0,392(r1)
800914FC: C0610184 lfs f3,388(r1)
80091500: EC403828 fsubs f2,f0,f7
80091504: C081017C lfs f4,380(r1)
80091508: C0A10180 lfs f5,384(r1)
8009150C: EC632028 fsubs f3,f3,f4
80091510: C001018C lfs f0,396(r1)
80091514: D0410060 stfs f2,96(r1)
80091518: EC402028 fsubs f2,f0,f4
8009151C: C005000C lfs f0,12(r5)
80091520: ECC53828 fsubs f6,f5,f7
80091524: 81410060 lwz r10,96(r1)
80091528: ECA02028 fsubs f5,f0,f4
8009152C: D061006C stfs f3,108(r1)
80091530: C0050008 lfs f0,8(r5)
80091534: 8161006C lwz r11,108(r1)
80091538: D0C10068 stfs f6,104(r1)
8009153C: ED203828 fsubs f9,f0,f7
80091540: C1428B74 lfs f10,-29836(r2)
80091544: 81810068 lwz r12,104(r1)
80091548: D0410064 stfs f2,100(r1)
8009154C: FC005050 fneg f0,f10
80091550: C0C28B78 lfs f6,-29832(r2)
80091554: 81210064 lwz r9,100(r1)
80091558: 9161009C stw r11,156(r1)
8009155C: 91410090 stw r10,144(r1)
80091560: C041009C lfs f2,156(r1)
80091564: 91810098 stw r12,152(r1)
80091568: C0810090 lfs f4,144(r1)
8009156C: FC601050 fneg f3,f2
80091570: 91210094 stw r9,148(r1)
80091574: EC4400B2 fmuls f2,f4,f2
80091578: C1010098 lfs f8,152(r1)
8009157C: C0E10094 lfs f7,148(r1)
80091580: D1210058 stfs f9,88(r1)
80091584: EC4811F8 fmsubs f2,f8,f7,f2
80091588: 80810058 lwz r4,88(r1)
8009158C: D0A1005C stfs f5,92(r1)
80091590: ED261024 fdivs f9,f6,f2
80091594: 8061005C lwz r3,92(r1)
80091598: 90810088 stw r4,136(r1)
8009159C: 9061008C stw r3,140(r1)
800915A0: C0A10088 lfs f5,136(r1)
800915A4: C041008C lfs f2,140(r1)
800915A8: EC8400B2 fmuls f4,f4,f2
800915AC: 91810080 stw r12,128(r1)
800915B0: EC4800B2 fmuls f2,f8,f2
800915B4: 91610084 stw r11,132(r1)
800915B8: EC872178 fmsubs f4,f7,f5,f4
800915BC: EC43117A fmadds f2,f3,f5,f2
800915C0: 91410078 stw r10,120(r1)
800915C4: EC690132 fmuls f3,f9,f4
800915C8: 9121007C stw r9,124(r1)
800915CC: EC8900B2 fmuls f4,f9,f2
800915D0: 90810070 stw r4,112(r1)
800915D4: FC030040 fcmpo cr0,f3,f0
800915D8: 90610074 stw r3,116(r1)
800915DC: 40810020 ble- 0x800915fc
800915E0: FC040040 fcmpo cr0,f4,f0
800915E4: 40810018 ble- 0x800915fc
800915E8: EC43202A fadds f2,f3,f4
800915EC: EC06502A fadds f0,f6,f10
800915F0: FC020040 fcmpo cr0,f2,f0
800915F4: 40800008 bge- 0x800915fc
800915F8: 38000001 li r0,1
800915FC: 2C000000 cmpwi r0,0
80091600: 41820060 beq- 0x80091660
80091604: C0E28B78 lfs f7,-29832(r2)
80091608: 8061016C lwz r3,364(r1)
8009160C: EC471828 fsubs f2,f7,f3
80091610: 80810168 lwz r4,360(r1)
80091614: C0030004 lfs f0,4(r3)
80091618: 80610170 lwz r3,368(r1)
8009161C: ECC22028 fsubs f6,f2,f4
80091620: C0440004 lfs f2,4(r4)
80091624: ECA30032 fmuls f5,f3,f0
80091628: C0030004 lfs f0,4(r3)
8009162C: EC4229BA fmadds f2,f2,f6,f5
80091630: EC04103A fmadds f0,f4,f0,f2
80091634: FC000840 fcmpo cr0,f0,f1
80091638: 40800028 bge- 0x80091660
8009163C: 80080000 lwz r0,0(r8)
80091640: 5400103A rlwinm r0,r0,2,0,29
80091644: 7C06052E stfsx f0,r6,r0
80091648: 80080000 lwz r0,0(r8)
8009164C: 5400103A rlwinm r0,r0,2,0,29
80091650: 7CE7052E stfsx f7,r7,r0
80091654: 80680000 lwz r3,0(r8)
80091658: 38030001 addi r0,r3,1
8009165C: 90080000 stw r0,0(r8)
80091660: 38810168 addi r4,r1,360
80091664: 3D205555 lis r9,21845
80091668: 38095556 addi r0,r9,21846
8009166C: 39400003 li r10,3
80091670: 38610178 addi r3,r1,376
80091674: 7C8B2378 mr r11,r4
80091678: C1628B80 lfs f11,-29824(r2)
8009167C: 39200000 li r9,0
80091680: C0C28B78 lfs f6,-29832(r2)
80091684: C8E28B90 lfd f7,-29808(r2)
80091688: 7D4903A6 mtctr r10
8009168C: 3BE90001 addi r31,r9,1
80091690: 3BA10178 addi r29,r1,376
80091694: 7D80F896 mulhw r12,r0,r31
80091698: C0050004 lfs f0,4(r5)
8009169C: C1430004 lfs f10,4(r3)
800916A0: C345000C lfs f26,12(r5)
800916A4: C1250008 lfs f9,8(r5)
800916A8: ED005028 fsubs f8,f0,f10
800916AC: 558A0FFE rlwinm r10,r12,1,31,31
800916B0: C3C30000 lfs f30,0(r3)
800916B4: 7D4C5214 add r10,r12,r10
800916B8: C0450000 lfs f2,0(r5)
800916BC: 1D8A0003 mulli r12,r10,3
800916C0: ECA9F028 fsubs f5,f9,f30
800916C4: EDA91028 fsubs f13,f9,f2
800916C8: ED9A0028 fsubs f12,f26,f0
800916CC: 7FCCF850 sub r30,r31,r12
800916D0: EFE2F028 fsubs f31,f2,f30
800916D4: 57CC1838 rlwinm r12,r30,3,0,28
800916D8: ECA80172 fmuls f5,f8,f5
800916DC: 7F1D646E lfsux f24,r29,r12
800916E0: D181003C stfs f12,60(r1)
800916E4: C37D0004 lfs f27,4(r29)
800916E8: ED29C028 fsubs f9,f9,f24
800916EC: 8141003C lwz r10,60(r1)
800916F0: EF22C028 fsubs f25,f2,f24
800916F4: EFA0D828 fsubs f29,f0,f27
800916F8: D1A10038 stfs f13,56(r1)
800916FC: EF9AD828 fsubs f28,f26,f27
80091700: 81810038 lwz r12,56(r1)
80091704: EFBD0272 fmuls f29,f29,f9
80091708: 9141001C stw r10,28(r1)
8009170C: ED3A5028 fsubs f9,f26,f10
80091710: 91810018 stw r12,24(r1)
80091714: EF39EF38 fmsubs f25,f25,f28,f29
80091718: EF5F2A78 fmsubs f26,f31,f9,f5
8009171C: 91810010 stw r12,16(r1)
80091720: 91410014 stw r10,20(r1)
80091724: ECB906B2 fmuls f5,f25,f26
80091728: FC055840 fcmpo cr0,f5,f11
8009172C: 408000C0 bge- 0x800917ec
80091730: ECAA0028 fsubs f5,f10,f0
80091734: EC981028 fsubs f4,f24,f2
80091738: ED5AC828 fsubs f10,f26,f25
8009173C: ED3E1028 fsubs f9,f30,f2
80091740: ECA50132 fmuls f5,f5,f4
80091744: ED1B0028 fsubs f8,f27,f0
80091748: EC9A5024 fdivs f4,f26,f10
8009174C: ED292A38 fmsubs f9,f9,f8,f5
80091750: ECA9D02A fadds f5,f9,f26
80091754: ED05C828 fsubs f8,f5,f25
80091758: ECA90232 fmuls f5,f9,f8
8009175C: FC055840 fcmpo cr0,f5,f11
80091760: 4080008C bge- 0x800917ec
80091764: EC694028 fsubs f3,f9,f8
80091768: D1A10040 stfs f13,64(r1)
8009176C: 3BA00001 li r29,1
80091770: D1810044 stfs f12,68(r1)
80091774: EC691824 fdivs f3,f9,f3
80091778: 81810040 lwz r12,64(r1)
8009177C: 81410044 lwz r10,68(r1)
80091780: 91810030 stw r12,48(r1)
80091784: 91410034 stw r10,52(r1)
80091788: C1010030 lfs f8,48(r1)
8009178C: C0A10034 lfs f5,52(r1)
80091790: ED0800F2 fmuls f8,f8,f3
80091794: ECA500F2 fmuls f5,f5,f3
80091798: D1010048 stfs f8,72(r1)
8009179C: D0A1004C stfs f5,76(r1)
800917A0: 81810048 lwz r12,72(r1)
800917A4: 8141004C lwz r10,76(r1)
800917A8: 91810028 stw r12,40(r1)
800917AC: 9141002C stw r10,44(r1)
800917B0: C1010028 lfs f8,40(r1)
800917B4: C0A1002C lfs f5,44(r1)
800917B8: EC42402A fadds f2,f2,f8
800917BC: EC00282A fadds f0,f0,f5
800917C0: D0410050 stfs f2,80(r1)
800917C4: D0010054 stfs f0,84(r1)
800917C8: 81810050 lwz r12,80(r1)
800917CC: 81410054 lwz r10,84(r1)
800917D0: 91810020 stw r12,32(r1)
800917D4: 91410024 stw r10,36(r1)
800917D8: C0410020 lfs f2,32(r1)
800917DC: C0010024 lfs f0,36(r1)
800917E0: D0410160 stfs f2,352(r1)
800917E4: D001000C stfs f0,12(r1)
800917E8: 48000008 b 0x800917f0
800917EC: 3BA00000 li r29,0
800917F0: 2C1D0000 cmpwi r29,0
800917F4: 418200AC beq- 0x800918a0
800917F8: 83A80000 lwz r29,0(r8)
800917FC: 2C1D0000 cmpwi r29,0
80091800: 41820018 beq- 0x80091818
80091804: C0070000 lfs f0,0(r7)
80091808: EC030028 fsubs f0,f3,f0
8009180C: FC000210 fabs f0,f0
80091810: FC003840 fcmpo cr0,f0,f7
80091814: 4180008C blt- 0x800918a0
80091818: 57CA103A rlwinm r10,r30,2,0,29
8009181C: 81840000 lwz r12,0(r4)
80091820: 7D4B502E lwzx r10,r11,r10
80091824: ECA62028 fsubs f5,f6,f4
80091828: C00C0004 lfs f0,4(r12)
8009182C: C04A0004 lfs f2,4(r10)
80091830: EC4400B2 fmuls f2,f4,f2
80091834: EC05103A fmadds f0,f5,f0,f2
80091838: FC000840 fcmpo cr0,f0,f1
8009183C: 40800064 bge- 0x800918a0
80091840: 57AA103A rlwinm r10,r29,2,0,29
80091844: 7C06552E stfsx f0,r6,r10
80091848: 81480000 lwz r10,0(r8)
8009184C: 554A103A rlwinm r10,r10,2,0,29
80091850: 7C67552E stfsx f3,r7,r10
80091854: 81480000 lwz r10,0(r8)
80091858: 394A0001 addi r10,r10,1
8009185C: 2C0A0002 cmpwi r10,2
80091860: 91480000 stw r10,0(r8)
80091864: 4180003C blt- 0x800918a0
80091868: C0270000 lfs f1,0(r7)
8009186C: C0070004 lfs f0,4(r7)
80091870: FC010040 fcmpo cr0,f1,f0
80091874: 40810024 ble- 0x80091898
80091878: C0260000 lfs f1,0(r6)
8009187C: C0060004 lfs f0,4(r6)
80091880: D0060000 stfs f0,0(r6)
80091884: D0260004 stfs f1,4(r6)
80091888: C0270000 lfs f1,0(r7)
8009188C: C0070004 lfs f0,4(r7)
80091890: D0070000 stfs f0,0(r7)
80091894: D0270004 stfs f1,4(r7)
80091898: 38600001 li r3,1
8009189C: 48000024 b 0x800918c0
800918A0: 38630008 addi r3,r3,8
800918A4: 38840004 addi r4,r4,4
800918A8: 39290001 addi r9,r9,1
800918AC: 4200FDE0 bdnz+ 0x8009168c
800918B0: 80680000 lwz r3,0(r8)
800918B4: 7C0300D0 neg r0,r3
800918B8: 7C001878 andc r0,r0,r3
800918BC: 54030FFE rlwinm r3,r0,1,31,31
800918C0: E3E10218 psq_l f31,536(r1),0,0
800918C4: CBE10210 lfd f31,528(r1)
800918C8: E3C10208 psq_l f30,520(r1),0,0
800918CC: CBC10200 lfd f30,512(r1)
800918D0: E3A101F8 psq_l f29,504(r1),0,0
800918D4: CBA101F0 lfd f29,496(r1)
800918D8: E38101E8 psq_l f28,488(r1),0,0
800918DC: CB8101E0 lfd f28,480(r1)
800918E0: E36101D8 psq_l f27,472(r1),0,0
800918E4: CB6101D0 lfd f27,464(r1)
800918E8: E34101C8 psq_l f26,456(r1),0,0
800918EC: CB4101C0 lfd f26,448(r1) ----> Breaks Here
800918F0: E32101B8 psq_l f25,440(r1),0,0
800918F4: CB2101B0 lfd f25,432(r1)
800918F8: E30101A8 psq_l f24,424(r1),0,0
800918FC: CB0101A0 lfd f24,416(r1)
80091900: 83E1019C lwz r31,412(r1)
80091904: 83C10198 lwz r30,408(r1)
80091908: 83A10194 lwz r29,404(r1)
8009190C: 38210220 addi r1,r1,544
80091910: 4E800020 blr
[/spoiler][/spoiler]
Any ASM I write to the read function turns out to be a disaster. I think it's because I'm not stacking the non-volatile Floats properly.
The float code that you taught me dcx2, I thought that I could rewrite it this way because the other way freezes that game.
[spoiler]4E00000C 00000000
C20918EC 00000004
48000009 41600000
7D8802A6 CAEC0000
CB0101C0 EF17C02A
D31A0000 00000000
14000000 00000000
283CB80A 00000008
14000000 41600000
E0000000 80008000
[/spoiler]
But this freezes the game too.
Quote from: Patedj on February 15, 2011, 10:06:28 AM
Looks like this
800EED88
stwu r12,-32(r1)
addis r12,r12,9999
stw r12,0x(r1)
That's not what a stack frame looks like. If you're only using one register, use r12 and you don't need a stack frame. Otherwise, ASM code should look like this.
stwu r1,-80(r1) # make space for 18 registers
stmw r14,8(r1) # push r14-r31 onto the stack
# put your ASM code here
# you can safely use r14-r31
lmw r14,8(r1) # pop r14-r31 off the stack
addi r1,r1,80 # release the space
---
Your last breakpoint hit while the function was popping data off the stack. Since it's popping your address into f26, you should look at the caller to see what it does with f26.
Aside from that, your code freezes because it's nonsense. You're replacing an lfd f26 with a C2 that doesn't do anything to f26. You use r26 as a pointer but it's not even used by that function.
I think you should try easier codes until you have a better grasp on ASM.
I know that ASM is out of my league. But I got to start somewhere. Might as well be here with the best!
I'm also a Bachelor's Psychology student, so this stuff is not daunting for me. It's simply getting the right association with the right context.
I understand that you have lot's to do, and I very much appreciate your help and time. I would be devastated if you'd stop helping me.
So as long as you help me, I will continue my wild goose chase. I'm learning much quicker with your help. In the weeks that I've been getting instructions from you, I've learned more than the last year.
I have been hacking games for over 15 years now. ASM is complicated in it's contextual settings, but the language is easy to research and understand.
I don't feel like this is too overwhelming. I do have a sense of delicacy now though. Where before I thought that it was simplistic like c++.
Ok so, I've done a little research and found a few interesting concepts on stepping in and out to find the blr.
As you can see in my function, the next blr is right there. So I right clicked and functioned the blr.
[spoiler]800910C0: 9421FDE0 stwu r1,-544(r1)
800910C4: DBE10210 stfd f31,528(r1)
800910C8: F3E10218 psq_st f31,536(r1),0,0
800910CC: DBC10200 stfd f30,512(r1)
800910D0: F3C10208 psq_st f30,520(r1),0,0
800910D4: DBA101F0 stfd f29,496(r1)
800910D8: F3A101F8 psq_st f29,504(r1),0,0
800910DC: DB8101E0 stfd f28,480(r1)
800910E0: F38101E8 psq_st f28,488(r1),0,0
800910E4: DB6101D0 stfd f27,464(r1)
800910E8: F36101D8 psq_st f27,472(r1),0,0
800910EC: DB4101C0 stfd f26,448(r1) Stfd to 448(r1)= DAR
800910F0: F34101C8 psq_st f26,456(r1),0,0
800910F4: DB2101B0 stfd f25,432(r1)
800910F8: F32101B8 psq_st f25,440(r1),0,0
800910FC: DB0101A0 stfd f24,416(r1)
80091100: F30101A8 psq_st f24,424(r1),0,0
80091104: 38000000 li r0,0
80091108: 54842036 rlwinm r4,r4,4,0,27
8009110C: 93E1019C stw r31,412(r1)
80091110: 93C10198 stw r30,408(r1)
80091114: 93A10194 stw r29,404(r1)
80091118: 90080000 stw r0,0(r8)
8009111C: 81230008 lwz r9,8(r3)
80091120: 7D692214 add r11,r9,r4
80091124: 808B000C lwz r4,12(r11)
80091128: 5484073E rlwinm r4,r4,0,28,31
8009112C: 2804000A cmplwi r4,10
80091130: 4182000C beq- 0x8009113c
80091134: 38600000 li r3,0
80091138: 48000788 b 0x800918c0
8009113C: A88B0008 lha r4,8(r11)
80091140: 2C040000 cmpwi r4,0
80091144: 4080000C bge- 0x80091150
80091148: 38600000 li r3,0
8009114C: 48000774 b 0x800918c0
.....
80091308: 418201E8 beq- 0x800914f0
8009130C: C0028B78 lfs f0,-29832(r2)
80091310: 8061016C lwz r3,364(r1)
80091314: EC402828 fsubs f2,f0,f5
80091318: 80810168 lwz r4,360(r1)
8009131C: C0030004 lfs f0,4(r3)
80091320: 80610170 lwz r3,368(r1)
80091324: EC823028 fsubs f4,f2,f6
80091328: C0440004 lfs f2,4(r4)
8009132C: EC650032 fmuls f3,f5,f0
80091330: C0030004 lfs f0,4(r3)
80091334: EC42193A fmadds f2,f2,f4,f3
80091338: EC46103A fmadds f2,f6,f0,f2
8009133C: FC020840 fcmpo cr0,f2,f1
80091340: 4080002C bge- 0x8009136c
80091344: 80080000 lwz r0,0(r8)
80091348: C0028B80 lfs f0,-29824(r2)
8009134C: 5400103A rlwinm r0,r0,2,0,29
80091350: 7C46052E stfsx f2,r6,r0
80091354: 80080000 lwz r0,0(r8)
80091358: 5400103A rlwinm r0,r0,2,0,29
8009135C: 7C07052E stfsx f0,r7,r0
80091360: 80680000 lwz r3,0(r8)
80091364: 38030001 addi r0,r3,1
80091368: 90080000 stw r0,0(r8)
8009136C: C0E10178 lfs f7,376(r1)
80091370: 38000000 li r0,0
80091374: C0010188 lfs f0,392(r1)
80091378: C0610184 lfs f3,388(r1)
8009137C: EC403828 fsubs f2,f0,f7
80091380: C081017C lfs f4,380(r1)
80091384: C0A10180 lfs f5,384(r1)
80091388: EC632028 fsubs f3,f3,f4
8009138C: C001018C lfs f0,396(r1)
80091390: D04100A8 stfs f2,168(r1)
80091394: EC402028 fsubs f2,f0,f4
80091398: C005000C lfs f0,12(r5)
8009139C: ECC53828 fsubs f6,f5,f7
800913A0: 814100A8 lwz r10,168(r1)
800913A4: ECA02028 fsubs f5,f0,f4
800913A8: D06100B4 stfs f3,180(r1)
800913AC: C0050008 lfs f0,8(r5)
800913B0: 816100B4 lwz r11,180(r1)
800913B4: D0C100B0 stfs f6,176(r1)
800913B8: ED203828 fsubs f9,f0,f7
800913BC: C1428B74 lfs f10,-29836(r2)
800913C0: 818100B0 lwz r12,176(r1)
800913C4: D04100AC stfs f2,172(r1)
800913C8: FC005050 fneg f0,f10
800913CC: C0C28B78 lfs f6,-29832(r2)
800913D0: 812100AC lwz r9,172(r1)
800913D4: 916100E4 stw r11,228(r1)
800913D8: 914100D8 stw r10,216(r1)
800913DC: C04100E4 lfs f2,228(r1)
800913E0: 918100E0 stw r12,224(r1)
800913E4: C08100D8 lfs f4,216(r1)
800913E8: FC601050 fneg f3,f2
800913EC: 912100DC stw r9,220(r1)
800913F0: EC4400B2 fmuls f2,f4,f2
800913F4: C10100E0 lfs f8,224(r1)
800913F8: C0E100DC lfs f7,220(r1)
800913FC: D12100A0 stfs f9,160(r1)
80091400: EC4811F8 fmsubs f2,f8,f7,f2
80091404: 808100A0 lwz r4,160(r1)
80091408: D0A100A4 stfs f5,164(r1)
8009140C: ED261024 fdivs f9,f6,f2
80091410: 806100A4 lwz r3,164(r1)
80091414: 908100D0 stw r4,208(r1)
80091418: 906100D4 stw r3,212(r1)
8009141C: C0A100D0 lfs f5,208(r1)
80091420: C04100D4 lfs f2,212(r1)
80091424: EC8400B2 fmuls f4,f4,f2
80091428: 918100C8 stw r12,200(r1)
8009142C: EC4800B2 fmuls f2,f8,f2
80091430: 916100CC stw r11,204(r1)
80091434: EC872178 fmsubs f4,f7,f5,f4
80091438: EC43117A fmadds f2,f3,f5,f2
8009143C: 914100C0 stw r10,192(r1)
80091440: EC690132 fmuls f3,f9,f4
80091444: 912100C4 stw r9,196(r1)
80091448: EC8900B2 fmuls f4,f9,f2
8009144C: 908100B8 stw r4,184(r1)
80091450: FC030040 fcmpo cr0,f3,f0
80091454: 906100BC stw r3,188(r1)
80091458: 40810020 ble- 0x80091478
8009145C: FC040040 fcmpo cr0,f4,f0
80091460: 40810018 ble- 0x80091478
80091464: EC43202A fadds f2,f3,f4
80091468: EC06502A fadds f0,f6,f10
8009146C: FC020040 fcmpo cr0,f2,f0
80091470: 40800008 bge- 0x80091478
80091474: 38000001 li r0,1
80091478: 2C000000 cmpwi r0,0
8009147C: 418201E4 beq- 0x80091660
80091480: C0C28B78 lfs f6,-29832(r2)
80091484: 8061016C lwz r3,364(r1)
80091488: EC461828 fsubs f2,f6,f3
8009148C: 80810168 lwz r4,360(r1)
80091490: C0030004 lfs f0,4(r3)
80091494: 80610170 lwz r3,368(r1)
80091498: ECA22028 fsubs f5,f2,f4
8009149C: C0440004 lfs f2,4(r4)
800914A0: EC630032 fmuls f3,f3,f0
800914A4: C0030004 lfs f0,4(r3)
800914A8: EC42197A fmadds f2,f2,f5,f3
800914AC: EC04103A fmadds f0,f4,f0,f2
800914B0: FC000840 fcmpo cr0,f0,f1
800914B4: 40800028 bge- 0x800914dc
800914B8: 80080000 lwz r0,0(r8)
800914BC: 5400103A rlwinm r0,r0,2,0,29
800914C0: 7C06052E stfsx f0,r6,r0
800914C4: 80080000 lwz r0,0(r8)
800914C8: 5400103A rlwinm r0,r0,2,0,29
800914CC: 7CC7052E stfsx f6,r7,r0
800914D0: 80680000 lwz r3,0(r8)
800914D4: 38030001 addi r0,r3,1
800914D8: 90080000 stw r0,0(r8)
800914DC: 80680000 lwz r3,0(r8)
800914E0: 7C0300D0 neg r0,r3
800914E4: 7C001878 andc r0,r0,r3
800914E8: 54030FFE rlwinm r3,r0,1,31,31
800914EC: 480003D4 b 0x800918c0
800914F0: C0E10178 lfs f7,376(r1)
800914F4: 38000000 li r0,0
800914F8: C0010188 lfs f0,392(r1)
800914FC: C0610184 lfs f3,388(r1)
80091500: EC403828 fsubs f2,f0,f7
80091504: C081017C lfs f4,380(r1)
80091508: C0A10180 lfs f5,384(r1)
8009150C: EC632028 fsubs f3,f3,f4
80091510: C001018C lfs f0,396(r1)
80091514: D0410060 stfs f2,96(r1)
80091518: EC402028 fsubs f2,f0,f4
8009151C: C005000C lfs f0,12(r5)
80091520: ECC53828 fsubs f6,f5,f7
80091524: 81410060 lwz r10,96(r1)
80091528: ECA02028 fsubs f5,f0,f4
8009152C: D061006C stfs f3,108(r1)
80091530: C0050008 lfs f0,8(r5)
80091534: 8161006C lwz r11,108(r1)
80091538: D0C10068 stfs f6,104(r1)
8009153C: ED203828 fsubs f9,f0,f7
80091540: C1428B74 lfs f10,-29836(r2)
80091544: 81810068 lwz r12,104(r1)
80091548: D0410064 stfs f2,100(r1)
8009154C: FC005050 fneg f0,f10
80091550: C0C28B78 lfs f6,-29832(r2)
80091554: 81210064 lwz r9,100(r1)
80091558: 9161009C stw r11,156(r1)
8009155C: 91410090 stw r10,144(r1)
80091560: C041009C lfs f2,156(r1)
80091564: 91810098 stw r12,152(r1)
80091568: C0810090 lfs f4,144(r1)
8009156C: FC601050 fneg f3,f2
80091570: 91210094 stw r9,148(r1)
80091574: EC4400B2 fmuls f2,f4,f2
80091578: C1010098 lfs f8,152(r1)
8009157C: C0E10094 lfs f7,148(r1)
80091580: D1210058 stfs f9,88(r1)
80091584: EC4811F8 fmsubs f2,f8,f7,f2
80091588: 80810058 lwz r4,88(r1)
8009158C: D0A1005C stfs f5,92(r1)
80091590: ED261024 fdivs f9,f6,f2
80091594: 8061005C lwz r3,92(r1)
80091598: 90810088 stw r4,136(r1)
8009159C: 9061008C stw r3,140(r1)
800915A0: C0A10088 lfs f5,136(r1)
800915A4: C041008C lfs f2,140(r1)
800915A8: EC8400B2 fmuls f4,f4,f2
800915AC: 91810080 stw r12,128(r1)
800915B0: EC4800B2 fmuls f2,f8,f2
800915B4: 91610084 stw r11,132(r1)
800915B8: EC872178 fmsubs f4,f7,f5,f4
800915BC: EC43117A fmadds f2,f3,f5,f2
800915C0: 91410078 stw r10,120(r1)
800915C4: EC690132 fmuls f3,f9,f4
800915C8: 9121007C stw r9,124(r1)
800915CC: EC8900B2 fmuls f4,f9,f2
800915D0: 90810070 stw r4,112(r1)
800915D4: FC030040 fcmpo cr0,f3,f0
800915D8: 90610074 stw r3,116(r1)
800915DC: 40810020 ble- 0x800915fc
800915E0: FC040040 fcmpo cr0,f4,f0
800915E4: 40810018 ble- 0x800915fc
800915E8: EC43202A fadds f2,f3,f4
800915EC: EC06502A fadds f0,f6,f10
800915F0: FC020040 fcmpo cr0,f2,f0
800915F4: 40800008 bge- 0x800915fc
800915F8: 38000001 li r0,1
800915FC: 2C000000 cmpwi r0,0
80091600: 41820060 beq- 0x80091660
80091604: C0E28B78 lfs f7,-29832(r2)
80091608: 8061016C lwz r3,364(r1)
8009160C: EC471828 fsubs f2,f7,f3
80091610: 80810168 lwz r4,360(r1)
80091614: C0030004 lfs f0,4(r3)
80091618: 80610170 lwz r3,368(r1)
8009161C: ECC22028 fsubs f6,f2,f4
80091620: C0440004 lfs f2,4(r4)
80091624: ECA30032 fmuls f5,f3,f0
80091628: C0030004 lfs f0,4(r3)
8009162C: EC4229BA fmadds f2,f2,f6,f5
80091630: EC04103A fmadds f0,f4,f0,f2
80091634: FC000840 fcmpo cr0,f0,f1
80091638: 40800028 bge- 0x80091660
8009163C: 80080000 lwz r0,0(r8)
80091640: 5400103A rlwinm r0,r0,2,0,29
80091644: 7C06052E stfsx f0,r6,r0
80091648: 80080000 lwz r0,0(r8)
8009164C: 5400103A rlwinm r0,r0,2,0,29
80091650: 7CE7052E stfsx f7,r7,r0
80091654: 80680000 lwz r3,0(r8)
80091658: 38030001 addi r0,r3,1
8009165C: 90080000 stw r0,0(r8)
80091660: 38810168 addi r4,r1,360
80091664: 3D205555 lis r9,21845
80091668: 38095556 addi r0,r9,21846
8009166C: 39400003 li r10,3
80091670: 38610178 addi r3,r1,376
80091674: 7C8B2378 mr r11,r4
80091678: C1628B80 lfs f11,-29824(r2)
8009167C: 39200000 li r9,0
80091680: C0C28B78 lfs f6,-29832(r2)
80091684: C8E28B90 lfd f7,-29808(r2)
80091688: 7D4903A6 mtctr r10
8009168C: 3BE90001 addi r31,r9,1
80091690: 3BA10178 addi r29,r1,376
80091694: 7D80F896 mulhw r12,r0,r31
80091698: C0050004 lfs f0,4(r5)
8009169C: C1430004 lfs f10,4(r3)
800916A0: C345000C lfs f26,12(r5)
800916A4: C1250008 lfs f9,8(r5)
800916A8: ED005028 fsubs f8,f0,f10
800916AC: 558A0FFE rlwinm r10,r12,1,31,31
800916B0: C3C30000 lfs f30,0(r3)
800916B4: 7D4C5214 add r10,r12,r10
800916B8: C0450000 lfs f2,0(r5)
800916BC: 1D8A0003 mulli r12,r10,3
800916C0: ECA9F028 fsubs f5,f9,f30
800916C4: EDA91028 fsubs f13,f9,f2
800916C8: ED9A0028 fsubs f12,f26,f0
800916CC: 7FCCF850 sub r30,r31,r12
800916D0: EFE2F028 fsubs f31,f2,f30
800916D4: 57CC1838 rlwinm r12,r30,3,0,28
800916D8: ECA80172 fmuls f5,f8,f5
800916DC: 7F1D646E lfsux f24,r29,r12
800916E0: D181003C stfs f12,60(r1)
800916E4: C37D0004 lfs f27,4(r29)
800916E8: ED29C028 fsubs f9,f9,f24
800916EC: 8141003C lwz r10,60(r1)
800916F0: EF22C028 fsubs f25,f2,f24
800916F4: EFA0D828 fsubs f29,f0,f27
800916F8: D1A10038 stfs f13,56(r1)
800916FC: EF9AD828 fsubs f28,f26,f27
80091700: 81810038 lwz r12,56(r1)
80091704: EFBD0272 fmuls f29,f29,f9
80091708: 9141001C stw r10,28(r1)
8009170C: ED3A5028 fsubs f9,f26,f10
80091710: 91810018 stw r12,24(r1)
80091714: EF39EF38 fmsubs f25,f25,f28,f29
80091718: EF5F2A78 fmsubs f26,f31,f9,f5
8009171C: 91810010 stw r12,16(r1)
80091720: 91410014 stw r10,20(r1)
80091724: ECB906B2 fmuls f5,f25,f26
80091728: FC055840 fcmpo cr0,f5,f11
8009172C: 408000C0 bge- 0x800917ec
80091730: ECAA0028 fsubs f5,f10,f0
80091734: EC981028 fsubs f4,f24,f2
80091738: ED5AC828 fsubs f10,f26,f25
8009173C: ED3E1028 fsubs f9,f30,f2
80091740: ECA50132 fmuls f5,f5,f4
80091744: ED1B0028 fsubs f8,f27,f0
80091748: EC9A5024 fdivs f4,f26,f10
8009174C: ED292A38 fmsubs f9,f9,f8,f5
80091750: ECA9D02A fadds f5,f9,f26
80091754: ED05C828 fsubs f8,f5,f25
80091758: ECA90232 fmuls f5,f9,f8
8009175C: FC055840 fcmpo cr0,f5,f11
80091760: 4080008C bge- 0x800917ec
80091764: EC694028 fsubs f3,f9,f8
80091768: D1A10040 stfs f13,64(r1)
8009176C: 3BA00001 li r29,1
80091770: D1810044 stfs f12,68(r1)
80091774: EC691824 fdivs f3,f9,f3
80091778: 81810040 lwz r12,64(r1)
8009177C: 81410044 lwz r10,68(r1)
80091780: 91810030 stw r12,48(r1)
80091784: 91410034 stw r10,52(r1)
80091788: C1010030 lfs f8,48(r1)
8009178C: C0A10034 lfs f5,52(r1)
80091790: ED0800F2 fmuls f8,f8,f3
80091794: ECA500F2 fmuls f5,f5,f3
80091798: D1010048 stfs f8,72(r1)
8009179C: D0A1004C stfs f5,76(r1)
800917A0: 81810048 lwz r12,72(r1)
800917A4: 8141004C lwz r10,76(r1)
800917A8: 91810028 stw r12,40(r1)
800917AC: 9141002C stw r10,44(r1)
800917B0: C1010028 lfs f8,40(r1)
800917B4: C0A1002C lfs f5,44(r1)
800917B8: EC42402A fadds f2,f2,f8
800917BC: EC00282A fadds f0,f0,f5
800917C0: D0410050 stfs f2,80(r1)
800917C4: D0010054 stfs f0,84(r1)
800917C8: 81810050 lwz r12,80(r1)
800917CC: 81410054 lwz r10,84(r1)
800917D0: 91810020 stw r12,32(r1)
800917D4: 91410024 stw r10,36(r1)
800917D8: C0410020 lfs f2,32(r1)
800917DC: C0010024 lfs f0,36(r1)
800917E0: D0410160 stfs f2,352(r1)
800917E4: D001000C stfs f0,12(r1)
800917E8: 48000008 b 0x800917f0
800917EC: 3BA00000 li r29,0
800917F0: 2C1D0000 cmpwi r29,0
800917F4: 418200AC beq- 0x800918a0
800917F8: 83A80000 lwz r29,0(r8)
800917FC: 2C1D0000 cmpwi r29,0
80091800: 41820018 beq- 0x80091818
80091804: C0070000 lfs f0,0(r7)
80091808: EC030028 fsubs f0,f3,f0
8009180C: FC000210 fabs f0,f0
80091810: FC003840 fcmpo cr0,f0,f7
80091814: 4180008C blt- 0x800918a0
80091818: 57CA103A rlwinm r10,r30,2,0,29
8009181C: 81840000 lwz r12,0(r4)
80091820: 7D4B502E lwzx r10,r11,r10
80091824: ECA62028 fsubs f5,f6,f4
80091828: C00C0004 lfs f0,4(r12)
8009182C: C04A0004 lfs f2,4(r10)
80091830: EC4400B2 fmuls f2,f4,f2
80091834: EC05103A fmadds f0,f5,f0,f2
80091838: FC000840 fcmpo cr0,f0,f1
8009183C: 40800064 bge- 0x800918a0
80091840: 57AA103A rlwinm r10,r29,2,0,29
80091844: 7C06552E stfsx f0,r6,r10
80091848: 81480000 lwz r10,0(r8)
8009184C: 554A103A rlwinm r10,r10,2,0,29
80091850: 7C67552E stfsx f3,r7,r10
80091854: 81480000 lwz r10,0(r8)
80091858: 394A0001 addi r10,r10,1
8009185C: 2C0A0002 cmpwi r10,2
80091860: 91480000 stw r10,0(r8)
80091864: 4180003C blt- 0x800918a0
80091868: C0270000 lfs f1,0(r7)
8009186C: C0070004 lfs f0,4(r7)
80091870: FC010040 fcmpo cr0,f1,f0
80091874: 40810024 ble- 0x80091898
80091878: C0260000 lfs f1,0(r6)
8009187C: C0060004 lfs f0,4(r6)
80091880: D0060000 stfs f0,0(r6)
80091884: D0260004 stfs f1,4(r6)
80091888: C0270000 lfs f1,0(r7)
8009188C: C0070004 lfs f0,4(r7)
80091890: D0070000 stfs f0,0(r7)
80091894: D0270004 stfs f1,4(r7)
80091898: 38600001 li r3,1
8009189C: 48000024 b 0x800918c0
800918A0: 38630008 addi r3,r3,8
800918A4: 38840004 addi r4,r4,4
800918A8: 39290001 addi r9,r9,1
800918AC: 4200FDE0 bdnz+ 0x8009168c
800918B0: 80680000 lwz r3,0(r8)
800918B4: 7C0300D0 neg r0,r3
800918B8: 7C001878 andc r0,r0,r3
800918BC: 54030FFE rlwinm r3,r0,1,31,31
800918C0: E3E10218 psq_l f31,536(r1),0,0
800918C4: CBE10210 lfd f31,528(r1)
800918C8: E3C10208 psq_l f30,520(r1),0,0
800918CC: CBC10200 lfd f30,512(r1)
800918D0: E3A101F8 psq_l f29,504(r1),0,0
800918D4: CBA101F0 lfd f29,496(r1)
800918D8: E38101E8 psq_l f28,488(r1),0,0
800918DC: CB8101E0 lfd f28,480(r1)
800918E0: E36101D8 psq_l f27,472(r1),0,0
800918E4: CB6101D0 lfd f27,464(r1)
800918E8: E34101C8 psq_l f26,456(r1),0,0
800918EC: CB4101C0 lfd f26,448(r1) ----> breaks here.
800918F0: E32101B8 psq_l f25,440(r1),0,0
800918F4: CB2101B0 lfd f25,432(r1)
800918F8: E30101A8 psq_l f24,424(r1),0,0
800918FC: CB0101A0 lfd f24,416(r1)
80091900: 83E1019C lwz r31,412(r1)
80091904: 83C10198 lwz r30,408(r1)
80091908: 83A10194 lwz r29,404(r1)
8009190C: 38210220 addi r1,r1,544
80091910: 4E800020 blr -----> function taken here
80091914: 9421FF80 stwu r1,-128(r1)
80091918: DBE10070 stfd f31,112(r1)
8009191C: F3E10078 psq_st f31,120(r1),0,0
80091920: DBC10060 stfd f30,96(r1)
80091924: F3C10068 psq_st f30,104(r1),0,0
80091928: DBA10050 stfd f29,80(r1)
8009192C: F3A10058 psq_st f29,88(r1),0,0
80091930: C0030004 lfs f0,4(r3)
80091934: C1A60004 lfs f13,4(r6)
80091938: C0A50004 lfs f5,4(r5)
8009193C: C3E40004 lfs f31,4(r4)
80091940: ED206828 fsubs f9,f0,f13
80091944: C3A60000 lfs f29,0(r6)
80091948: EC602828 fsubs f3,f0,f5
8009194C: C0440000 lfs f2,0(r4)
80091950: ED9F6828 fsubs f12,f31,f13
80091954: C0230000 lfs f1,0(r3)
80091958: EC82E828 fsubs f4,f2,f29
8009195C: C1450000 lfs f10,0(r5)
80091960: ED020828 fsubs f8,f2,f1
80091964: C0C28B80 lfs f6,-29824(r2)
80091968: EC425028 fsubs f2,f2,f10
8009196C: ED690132 fmuls f11,f9,f4
80091970: EFC1E828 fsubs f30,f1,f29
80091974: D1010020 stfs f8,32(r1)
80091978: ECFF0028 fsubs f7,f31,f0
8009197C: 80610020 lwz r3,32(r1)
80091980: ED215028 fsubs f9,f1,f10
80091984: EC9F2828 fsubs f4,f31,f5
80091988: EC4300B2 fmuls f2,f3,f2
8009198C: D0E10024 stfs f7,36(r1)
80091990: ED7E5B38 fmsubs f11,f30,f12,f11
80091994: 80010024 lwz r0,36(r1)
80091998: ED291138 fmsubs f9,f9,f4,f2
8009199C: 90610040 stw r3,64(r1)
800919A0: 90010044 stw r0,68(r1)
800919A4: EC4B0272 fmuls f2,f11,f9
800919A8: 90610048 stw r3,72(r1)
800919AC: FC023040 fcmpo cr0,f2,f6
800919B0: 9001004C stw r0,76(r1)
800919B4: 408000C8 bge- 0x80091a7c
800919B8: EC895828 fsubs f4,f9,f11
800919BC: EC650028 fsubs f3,f5,f0
800919C0: EC5D0828 fsubs f2,f29,f1
800919C4: EC892024 fdivs f4,f9,f4
800919C8: D0880000 stfs f4,0(r8)
800919CC: ECAA0828 fsubs f5,f10,f1
800919D0: EC8D0028 fsubs f4,f13,f0
800919D4: EC4300B2 fmuls f2,f3,f2
800919D8: EC651138 fmsubs f3,f5,f4,f2
800919DC: EC43482A fadds f2,f3,f9
800919E0: EC825828 fsubs f4,f2,f11
800919E4: EC430132 fmuls f2,f3,f4
800919E8: FC023040 fcmpo cr0,f2,f6
800919EC: 40800090 bge- 0x80091a7c
800919F0: EC432028 fsubs f2,f3,f4
800919F4: D1010018 stfs f8,24(r1)
800919F8: 38600001 li r3,1
800919FC: D0E1001C stfs f7,28(r1)
80091A00: EC831024 fdivs f4,f3,f2
80091A04: 80810018 lwz r4,24(r1)
80091A08: 8001001C lwz r0,28(r1)
80091A0C: 90810028 stw r4,40(r1)
80091A10: 9001002C stw r0,44(r1)
80091A14: C0610028 lfs f3,40(r1)
80091A18: C041002C lfs f2,44(r1)
80091A1C: EC630132 fmuls f3,f3,f4
80091A20: D0870000 stfs f4,0(r7)
80091A24: EC420132 fmuls f2,f2,f4
80091A28: D0610010 stfs f3,16(r1)
80091A2C: D0410014 stfs f2,20(r1)
80091A30: 80810010 lwz r4,16(r1)
80091A34: 80010014 lwz r0,20(r1)
80091A38: 90810030 stw r4,48(r1)
80091A3C: 90010034 stw r0,52(r1)
80091A40: C0610030 lfs f3,48(r1)
80091A44: C0410034 lfs f2,52(r1)
80091A48: EC21182A fadds f1,f1,f3
80091A4C: EC00102A fadds f0,f0,f2
80091A50: D0210008 stfs f1,8(r1)
80091A54: D001000C stfs f0,12(r1)
80091A58: 80810008 lwz r4,8(r1)
80091A5C: 8001000C lwz r0,12(r1)
80091A60: 90810038 stw r4,56(r1)
80091A64: 9001003C stw r0,60(r1)
80091A68: C0210038 lfs f1,56(r1)
80091A6C: C001003C lfs f0,60(r1)
80091A70: D0290000 stfs f1,0(r9)
80091A74: D0090004 stfs f0,4(r9)
80091A78: 48000008 b 0x80091a80
80091A7C: 38600000 li r3,0
80091A80: E3E10078 psq_l f31,120(r1),0,0
80091A84: CBE10070 lfd f31,112(r1)
80091A88: E3C10068 psq_l f30,104(r1),0,0
80091A8C: CBC10060 lfd f30,96(r1)
80091A90: E3A10058 psq_l f29,88(r1),0,0
80091A94: CBA10050 lfd f29,80(r1)
80091A98: 38210080 addi r1,r1,128
80091A9C: 4E800020 blr
[/spoiler]
I now have copied the LR and back tracked an operation which was a bl linking to 800910C0
Quote from: Patedj on February 09, 2011, 08:27:56 AM
searched for C2135568 got 80002998
That's part of the code handler. I'm guessing that's not what you want. Try searching for 80135568.
Quote from: Nutmeg on February 16, 2011, 06:36:27 AM
Quote from: Patedj on February 09, 2011, 08:27:56 AM
searched for C2135568 got 80002998
That's part of the code handler. I'm guessing that's not what you want. Try searching for 80135568.
Thanks Nutmeg, that's all in the past though. That address was finally for the camera's angle.
I'm working on this now
Function
[spoiler]80090534: 9421FC10 stwu r1,-1008(r1)
80090538: 7C0802A6 mflr r0
8009053C: 900103F4 stw r0,1012(r1)
80090540: DBE103E0 stfd f31,992(r1)
80090544: F3E103E8 psq_st f31,1000(r1),0,0
80090548: 396103E0 addi r11,r1,992
8009054C: 4812581D bl 0x801b5d68
80090550: 80030000 lwz r0,0(r3)
80090554: FFE00890 fmr f31,f1
80090558: 7C781B78 mr r24,r3
8009055C: 7CB92B78 mr r25,r5
80090560: 2C000000 cmpwi r0,0
80090564: 7CDA3378 mr r26,r6
80090568: 4082000C bne- 0x80090574
8009056C: 38600000 li r3,0
80090570: 48000B00 b 0x80091070
80090574: C0230018 lfs f1,24(r3)
80090578: C0030020 lfs f0,32(r3)
8009057C: D0210078 stfs f1,120(r1)
80090580: 80C30014 lwz r6,20(r3)
80090584: D001007C stfs f0,124(r1)
80090588: 80A10078 lwz r5,120(r1)
8009058C: 2C060002 cmpwi r6,2
80090590: 8001007C lwz r0,124(r1)
80090594: 90A10098 stw r5,152(r1)
80090598: C0640000 lfs f3,0(r4)
8009059C: 9001009C stw r0,156(r1)
800905A0: C0410098 lfs f2,152(r1)
800905A4: C0240004 lfs f1,4(r4)
800905A8: C001009C lfs f0,156(r1)
800905AC: EC431028 fsubs f2,f3,f2
800905B0: EC010028 fsubs f0,f1,f0
800905B4: D0410070 stfs f2,112(r1)
800905B8: 80A10070 lwz r5,112(r1)
800905BC: D0010074 stfs f0,116(r1)
800905C0: 80010074 lwz r0,116(r1)
800905C4: 90A10018 stw r5,24(r1)
800905C8: 9001001C stw r0,28(r1)
800905CC: 90A100A0 stw r5,160(r1)
800905D0: 900100A4 stw r0,164(r1)
800905D4: 41820048 beq- 0x8009061c
800905D8: 40800010 bge- 0x800905e8
800905DC: 2C060001 cmpwi r6,1
800905E0: 40800014 bge- 0x800905f4
800905E4: 4800008C b 0x80090670
800905E8: 2C060004 cmpwi r6,4
800905EC: 40800084 bge- 0x80090670
800905F0: 48000058 b 0x80090648
800905F4: C00100A0 lfs f0,160(r1)
800905F8: C02100A4 lfs f1,164(r1)
800905FC: FC000050 fneg f0,f0
80090600: D0210050 stfs f1,80(r1)
80090604: D0010054 stfs f0,84(r1)
80090608: 80A10050 lwz r5,80(r1)
8009060C: 80010054 lwz r0,84(r1)
80090610: 90A10068 stw r5,104(r1)
80090614: 9001006C stw r0,108(r1)
80090618: 48000068 b 0x80090680
8009061C: C02100A4 lfs f1,164(r1)
80090620: C00100A0 lfs f0,160(r1)
80090624: FC200850 fneg f1,f1
80090628: FC000050 fneg f0,f0
8009062C: D021005C stfs f1,92(r1)
80090630: D0010058 stfs f0,88(r1)
80090634: 8001005C lwz r0,92(r1)
80090638: 80A10058 lwz r5,88(r1)
8009063C: 9001006C stw r0,108(r1)
80090640: 90A10068 stw r5,104(r1)
80090644: 4800003C b 0x80090680
80090648: C00100A4 lfs f0,164(r1)
8009064C: C02100A0 lfs f1,160(r1)
80090650: FC000050 fneg f0,f0
80090654: D0210064 stfs f1,100(r1)
80090658: D0010060 stfs f0,96(r1)
8009065C: 80010064 lwz r0,100(r1)
80090660: 80A10060 lwz r5,96(r1)
80090664: 9001006C stw r0,108(r1)
80090668: 90A10068 stw r5,104(r1)
8009066C: 48000014 b 0x80090680
80090670: 80A10018 lwz r5,24(r1)
80090674: 8001001C lwz r0,28(r1)
80090678: 90A10068 stw r5,104(r1)
8009067C: 9001006C stw r0,108(r1)
80090680: 80A10068 lwz r5,104(r1)
80090684: 8001006C lwz r0,108(r1)
80090688: 90A100A8 stw r5,168(r1)
8009068C: C0640008 lfs f3,8(r4)
80090690: 900100AC stw r0,172(r1)
80090694: C02100A8 lfs f1,168(r1)
80090698: C00100AC lfs f0,172(r1)
8009069C: D02100E8 stfs f1,232(r1)
800906A0: C024000C lfs f1,12(r4)
800906A4: D00100EC stfs f0,236(r1)
800906A8: C0430018 lfs f2,24(r3)
800906AC: C0030020 lfs f0,32(r3)
800906B0: D0410048 stfs f2,72(r1)
800906B4: 80A30014 lwz r5,20(r3)
800906B8: D001004C stfs f0,76(r1)
800906BC: 80810048 lwz r4,72(r1)
800906C0: 2C050002 cmpwi r5,2
800906C4: 8001004C lwz r0,76(r1)
800906C8: 90810080 stw r4,128(r1)
800906CC: 90010084 stw r0,132(r1)
800906D0: C0410080 lfs f2,128(r1)
800906D4: C0010084 lfs f0,132(r1)
800906D8: EC431028 fsubs f2,f3,f2
800906DC: EC010028 fsubs f0,f1,f0
800906E0: D0410040 stfs f2,64(r1)
800906E4: 80810040 lwz r4,64(r1)
800906E8: D0010044 stfs f0,68(r1)
800906EC: 80010044 lwz r0,68(r1)
800906F0: 90810010 stw r4,16(r1)
800906F4: 90010014 stw r0,20(r1)
800906F8: 90810088 stw r4,136(r1)
800906FC: 9001008C stw r0,140(r1)
80090700: 41820048 beq- 0x80090748
80090704: 40800010 bge- 0x80090714
80090708: 2C050001 cmpwi r5,1
8009070C: 40800014 bge- 0x80090720
80090710: 4800008C b 0x8009079c
80090714: 2C050004 cmpwi r5,4
80090718: 40800084 bge- 0x8009079c
8009071C: 48000058 b 0x80090774
80090720: C0010088 lfs f0,136(r1)
80090724: C021008C lfs f1,140(r1)
80090728: FC000050 fneg f0,f0
8009072C: D0210020 stfs f1,32(r1)
80090730: D0010024 stfs f0,36(r1)
80090734: 80810020 lwz r4,32(r1)
80090738: 80010024 lwz r0,36(r1)
8009073C: 90810038 stw r4,56(r1)
80090740: 9001003C stw r0,60(r1)
80090744: 48000068 b 0x800907ac
80090748: C021008C lfs f1,140(r1)
8009074C: C0010088 lfs f0,136(r1)
80090750: FC200850 fneg f1,f1
80090754: FC000050 fneg f0,f0
80090758: D021002C stfs f1,44(r1)
8009075C: D0010028 stfs f0,40(r1)
80090760: 8001002C lwz r0,44(r1)
80090764: 80810028 lwz r4,40(r1)
80090768: 9001003C stw r0,60(r1)
8009076C: 90810038 stw r4,56(r1)
80090770: 4800003C b 0x800907ac
80090774: C001008C lfs f0,140(r1)
80090778: C0210088 lfs f1,136(r1)
8009077C: FC000050 fneg f0,f0
80090780: D0210034 stfs f1,52(r1)
80090784: D0010030 stfs f0,48(r1)
80090788: 80010034 lwz r0,52(r1)
8009078C: 80810030 lwz r4,48(r1)
80090790: 9001003C stw r0,60(r1)
80090794: 90810038 stw r4,56(r1)
80090798: 48000014 b 0x800907ac
8009079C: 80810010 lwz r4,16(r1)
800907A0: 80010014 lwz r0,20(r1)
800907A4: 90810038 stw r4,56(r1)
800907A8: 9001003C stw r0,60(r1)
800907AC: 80C10038 lwz r6,56(r1)
800907B0: 38810124 addi r4,r1,292
800907B4: 80A1003C lwz r5,60(r1)
800907B8: 38010390 addi r0,r1,912
800907BC: 90C10090 stw r6,144(r1)
800907C0: 7C040040 cmplw r4,r0
800907C4: 3BC00000 li r30,0
800907C8: 90A10094 stw r5,148(r1)
800907CC: C0210090 lfs f1,144(r1)
800907D0: C0010094 lfs f0,148(r1)
800907D4: D02100F0 stfs f1,240(r1)
800907D8: D00100F4 stfs f0,244(r1)
800907DC: 40800014 bge- 0x800907f0
800907E0: 38000000 li r0,0
800907E4: 41810008 bgt- 0x800907ec
800907E8: 38000001 li r0,1
800907EC: 2C000000 cmpwi r0,0
800907F0: 80A30000 lwz r5,0(r3)
800907F4: 2C070000 cmpwi r7,0
800907F8: 3BA00000 li r29,0
800907FC: 3AC00000 li r22,0
80090800: 80850010 lwz r4,16(r5)
80090804: 3B800000 li r28,0
80090808: 80050014 lwz r0,20(r5)
8009080C: 908100F8 stw r4,248(r1)
80090810: 900100FC stw r0,252(r1)
80090814: 80050018 lwz r0,24(r5)
80090818: 90010100 stw r0,256(r1)
8009081C: 8085001C lwz r4,28(r5)
80090820: 80050020 lwz r0,32(r5)
80090824: 90810104 stw r4,260(r1)
80090828: 90010108 stw r0,264(r1)
8009082C: 80050024 lwz r0,36(r5)
80090830: 9001010C stw r0,268(r1)
80090834: 83630004 lwz r27,4(r3)
80090838: 4180003C blt- 0x80090874
8009083C: 54E02036 rlwinm r0,r7,4,0,27
80090840: 81280000 lwz r9,0(r8)
80090844: 80C80004 lwz r6,4(r8)
80090848: 7F7B0214 add r27,r27,r0
8009084C: 80A80008 lwz r5,8(r8)
80090850: 8088000C lwz r4,12(r8)
80090854: 80680010 lwz r3,16(r8)
80090858: 80080014 lwz r0,20(r8)
8009085C: 912100F8 stw r9,248(r1)
80090860: 90C100FC stw r6,252(r1)
80090864: 90A10100 stw r5,256(r1)
80090868: 90810104 stw r4,260(r1)
8009086C: 90610108 stw r3,264(r1)
80090870: 9001010C stw r0,268(r1)
80090874: C06100F0 lfs f3,240(r1)
80090878: C04100E8 lfs f2,232(r1)
8009087C: C02100EC lfs f1,236(r1)
80090880: C00100E8 lfs f0,232(r1)
80090884: D04100E0 stfs f2,224(r1)
80090888: FC001840 fcmpo cr0,f0,f3
8009088C: D02100E4 stfs f1,228(r1)
80090890: D04100D8 stfs f2,216(r1)
80090894: D02100DC stfs f1,220(r1)
80090898: 4080000C bge- 0x800908a4
8009089C: D06100E0 stfs f3,224(r1)
800908A0: 48000008 b 0x800908a8
800908A4: D06100D8 stfs f3,216(r1)
800908A8: C06100F4 lfs f3,244(r1)
800908AC: C00100EC lfs f0,236(r1)
800908B0: FC001840 fcmpo cr0,f0,f3
800908B4: 4080000C bge- 0x800908c0
800908B8: D06100E4 stfs f3,228(r1)
800908BC: 48000008 b 0x800908c4
800908C0: D06100DC stfs f3,220(r1)
800908C4: 3C808040 lis r4,-32704
800908C8: 3C608040 lis r3,-32704
800908CC: 3A600001 li r19,1
800908D0: 3AA00000 li r21,0
800908D4: 3A445E90 addi r18,r4,24208
800908D8: 3A835E10 addi r20,r3,24080
800908DC: 3AE00003 li r23,3
800908E0: 48000784 b 0x80091064
800908E4: C0210104 lfs f1,260(r1)
800908E8: 38600000 li r3,0
800908EC: C00100D8 lfs f0,216(r1)
800908F0: FC010040 fcmpo cr0,f1,f0
800908F4: 41800034 blt- 0x80090928
800908F8: C02100F8 lfs f1,248(r1)
800908FC: C00100E0 lfs f0,224(r1)
80090900: FC010040 fcmpo cr0,f1,f0
80090904: 41810024 bgt- 0x80090928
80090908: C021010C lfs f1,268(r1)
8009090C: C00100DC lfs f0,220(r1)
80090910: FC010040 fcmpo cr0,f1,f0
80090914: 41800014 blt- 0x80090928
80090918: C0210100 lfs f1,256(r1)
8009091C: C00100E4 lfs f0,228(r1)
80090920: FC010040 fcmpo cr0,f1,f0
80090924: 4081000C ble- 0x80090930
80090928: 38000000 li r0,0
8009092C: 48000014 b 0x80090940
80090930: C00100FC lfs f0,252(r1)
80090934: FC1F0040 fcmpo cr0,f31,f0
80090938: 7C000026 mfcr r0
8009093C: 540017FE rlwinm r0,r0,2,31,31
80090940: 2C000000 cmpwi r0,0
80090944: 40820014 bne- 0x80090958
80090948: 2C1C0000 cmpwi r28,0
8009094C: 40820488 bne- 0x80090dd4
80090950: 38600000 li r3,0
80090954: 4800071C b 0x80091070
80090958: 1C1C0018 mulli r0,r28,24
8009095C: 8A3B0008 lbz r17,8(r27)
80090960: 3A1B0009 addi r16,r27,9
80090964: 386100CC addi r3,r1,204
80090968: 7FF20214 add r31,r18,r0
8009096C: 38810104 addi r4,r1,260
80090970: 38A100F8 addi r5,r1,248
80090974: 4BFF7F15 bl 0x80088888
80090978: C0228B68 lfs f1,-29848(r2)
8009097C: 386100C0 addi r3,r1,192
80090980: 388100CC addi r4,r1,204
80090984: 4BFF7F29 bl 0x800888ac
80090988: 388100F8 addi r4,r1,248
8009098C: 39010104 addi r8,r1,260
80090990: 7C852378 mr r5,r4
80090994: 7FE7FB78 mr r7,r31
80090998: 7D094378 mr r9,r8
8009099C: 38C100C0 addi r6,r1,192
800909A0: 395F000C addi r10,r31,12
800909A4: 38600000 li r3,0
800909A8: 7EE903A6 mtctr r23
800909AC: 39630001 addi r11,r3,1
800909B0: 10701D0C psq_lx f3,r16,r3,1,2
800909B4: 10505D0C psq_lx f2,r16,r11,1,2
800909B8: 7E601830 slw r0,r19,r3
800909BC: 7E200039 and. r0,r17,r0
800909C0: 41820020 beq- 0x800909e0
800909C4: C0040000 lfs f0,0(r4)
800909C8: C0260000 lfs f1,0(r6)
800909CC: D0050000 stfs f0,0(r5)
800909D0: C0040000 lfs f0,0(r4)
800909D4: EC03007A fmadds f0,f3,f1,f0
800909D8: D0070000 stfs f0,0(r7)
800909DC: 48000018 b 0x800909f4
800909E0: C0240000 lfs f1,0(r4)
800909E4: C0060000 lfs f0,0(r6)
800909E8: D0270000 stfs f1,0(r7)
800909EC: EC03083A fmadds f0,f3,f0,f1
800909F0: D0050000 stfs f0,0(r5)
800909F4: 7E605830 slw r0,r19,r11
800909F8: 7E200039 and. r0,r17,r0
800909FC: 41820020 beq- 0x80090a1c
80090A00: C0080000 lfs f0,0(r8)
80090A04: C0260000 lfs f1,0(r6)
80090A08: D0090000 stfs f0,0(r9)
80090A0C: C0080000 lfs f0,0(r8)
80090A10: EC02007C fnmsubs f0,f2,f1,f0
80090A14: D00A0000 stfs f0,0(r10)
80090A18: 48000018 b 0x80090a30
80090A1C: C0280000 lfs f1,0(r8)
80090A20: C0060000 lfs f0,0(r6)
80090A24: D02A0000 stfs f1,0(r10)
80090A28: EC02083C fnmsubs f0,f2,f0,f1
80090A2C: D0090000 stfs f0,0(r9)
80090A30: 38630002 addi r3,r3,2
80090A34: 38840004 addi r4,r4,4
80090A38: 38A50004 addi r5,r5,4
80090A3C: 38C60004 addi r6,r6,4
80090A40: 38E70004 addi r7,r7,4
80090A44: 39080004 addi r8,r8,4
80090A48: 39290004 addi r9,r9,4
80090A4C: 394A0004 addi r10,r10,4
80090A50: 4200FF5C bdnz+ 0x800909ac
80090A54: 5780103A rlwinm r0,r28,2,0,29
80090A58: 7F74012E stwx r27,r20,r0
80090A5C: 881B0008 lbz r0,8(r27)
80090A60: 54000673 rlwinm. r0,r0,0,25,25
80090A64: 41820194 beq- 0x80090bf8
80090A68: A09B0000 lhz r4,0(r27)
80090A6C: 80780008 lwz r3,8(r24)
80090A70: 54802036 rlwinm r0,r4,4,0,27
80090A74: 7C630214 add r3,r3,r0
80090A78: 8003000C lwz r0,12(r3)
80090A7C: 5400463E rlwinm r0,r0,8,24,31
80090A80: 2C00000B cmpwi r0,11
80090A84: 41820024 beq- 0x80090aa8
80090A88: 40800010 bge- 0x80090a98
80090A8C: 2C00000A cmpwi r0,10
80090A90: 40800010 bge- 0x80090aa0
80090A94: 48000014 b 0x80090aa8
80090A98: 2C00000E cmpwi r0,14
80090A9C: 4080000C bge- 0x80090aa8
80090AA0: 38000001 li r0,1
80090AA4: 48000008 b 0x80090aac
80090AA8: 38000000 li r0,0
80090AAC: 2C000000 cmpwi r0,0
80090AB0: 40820148 bne- 0x80090bf8
80090AB4: C0210104 lfs f1,260(r1)
80090AB8: C00100D8 lfs f0,216(r1)
80090ABC: FC010040 fcmpo cr0,f1,f0
80090AC0: 41800034 blt- 0x80090af4
80090AC4: C02100F8 lfs f1,248(r1)
80090AC8: C00100E0 lfs f0,224(r1)
80090ACC: FC010040 fcmpo cr0,f1,f0
80090AD0: 41810024 bgt- 0x80090af4
80090AD4: C021010C lfs f1,268(r1)
80090AD8: C00100DC lfs f0,220(r1)
80090ADC: FC010040 fcmpo cr0,f1,f0
80090AE0: 41800014 blt- 0x80090af4
80090AE4: C0210100 lfs f1,256(r1)
80090AE8: C00100E4 lfs f0,228(r1)
80090AEC: FC010040 fcmpo cr0,f1,f0
80090AF0: 4081000C ble- 0x80090afc
80090AF4: 38000000 li r0,0
80090AF8: 48000014 b 0x80090b0c
80090AFC: C00100FC lfs f0,252(r1)
80090B00: FC1F0040 fcmpo cr0,f31,f0
80090B04: 7C000026 mfcr r0
80090B08: 540017FE rlwinm r0,r0,2,31,31
80090B0C: 2C000000 cmpwi r0,0
80090B10: 418200E8 beq- 0x80090bf8
80090B14: FC20F890 fmr f1,f31
80090B18: 7F03C378 mr r3,r24
80090B1C: 38A100E8 addi r5,r1,232
80090B20: 38C100B8 addi r6,r1,184
80090B24: 38E100B0 addi r7,r1,176
80090B28: 39010008 addi r8,r1,8
80090B2C: 48000595 bl 0x800910c0 ----> here's the bl
here's the before the bl
[/spoiler]
[spoiler]80090B30: 80010008 lwz r0,8(r1)
80090B34: 7C7E1B78 mr r30,r3
80090B38: 2C000002 cmpwi r0,2
80090B3C: 41820040 beq- 0x80090b7c
80090B40: 4080007C bge- 0x80090bbc
80090B44: 2C000001 cmpwi r0,1
80090B48: 40800008 bge- 0x80090b50
80090B4C: 48000070 b 0x80090bbc
80090B50: C02100B0 lfs f1,176(r1)
80090B54: 38610110 addi r3,r1,272
80090B58: C00100B8 lfs f0,184(r1)
80090B5C: 3BBD0001 addi r29,r29,1
80090B60: 7C23B56E stfsux f1,r3,r22
80090B64: 3AD60014 addi r22,r22,20
80090B68: D0030004 stfs f0,4(r3)
80090B6C: D0230008 stfs f1,8(r3)
80090B70: D003000C stfs f0,12(r3)
80090B74: 92A30010 stw r21,16(r3)
80090B78: 48000044 b 0x80090bbc
80090B7C: C02100B0 lfs f1,176(r1)
80090B80: 38610110 addi r3,r1,272
80090B84: C00100B8 lfs f0,184(r1)
80090B88: 3BBD0001 addi r29,r29,1
80090B8C: 7C23B56E stfsux f1,r3,r22
80090B90: 3AD60014 addi r22,r22,20
80090B94: C04100BC lfs f2,188(r1)
80090B98: D0030004 stfs f0,4(r3)
80090B9C: C02100B4 lfs f1,180(r1)
80090BA0: FC001040 fcmpo cr0,f0,f2
80090BA4: D0230008 stfs f1,8(r3)
80090BA8: D043000C stfs f2,12(r3)
80090BAC: 4080000C bge- 0x80090bb8
80090BB0: 92A30010 stw r21,16(r3)
80090BB4: 48000008 b 0x80090bbc
80090BB8: 92630010 stw r19,16(r3)
80090BBC: 386100B8 addi r3,r1,184
80090BC0: 38800000 li r4,0
80090BC4: 48000028 b 0x80090bec
80090BC8: C01A0000 lfs f0,0(r26)
80090BCC: C0230000 lfs f1,0(r3)
80090BD0: FC010040 fcmpo cr0,f1,f0
80090BD4: 40810008 ble- 0x80090bdc
80090BD8: 48000008 b 0x80090be0
80090BDC: FC200090 fmr f1,f0
80090BE0: D03A0000 stfs f1,0(r26)
80090BE4: 38630004 addi r3,r3,4
80090BE8: 38840001 addi r4,r4,1
80090BEC: 80010008 lwz r0,8(r1)
80090BF0: 7C040000 cmpw r4,r0
80090BF4: 4180FFD4 blt+ 0x80090bc8
80090BF8: 881B0008 lbz r0,8(r27)
80090BFC: 54000631 rlwinm. r0,r0,0,24,24
80090C00: 41820194 beq- 0x80090d94
80090C04: A09B0002 lhz r4,2(r27)
80090C08: 80780008 lwz r3,8(r24)
80090C0C: 54802036 rlwinm r0,r4,4,0,27
80090C10: 7C630214 add r3,r3,r0
80090C14: 8003000C lwz r0,12(r3)
80090C18: 5400463E rlwinm r0,r0,8,24,31
80090C1C: 2C00000B cmpwi r0,11
80090C20: 41820024 beq- 0x80090c44
80090C24: 40800010 bge- 0x80090c34
80090C28: 2C00000A cmpwi r0,10
80090C2C: 40800010 bge- 0x80090c3c
80090C30: 48000014 b 0x80090c44
80090C34: 2C00000E cmpwi r0,14
80090C38: 4080000C bge- 0x80090c44
80090C3C: 38000001 li r0,1
80090C40: 48000008 b 0x80090c48
80090C44: 38000000 li r0,0
80090C48: 2C000000 cmpwi r0,0
80090C4C: 40820148 bne- 0x80090d94
80090C50: C03F000C lfs f1,12(r31)
80090C54: C00100D8 lfs f0,216(r1)
80090C58: FC010040 fcmpo cr0,f1,f0
80090C5C: 41800034 blt- 0x80090c90
80090C60: C03F0000 lfs f1,0(r31)
80090C64: C00100E0 lfs f0,224(r1)
80090C68: FC010040 fcmpo cr0,f1,f0
80090C6C: 41810024 bgt- 0x80090c90
80090C70: C03F0014 lfs f1,20(r31)
80090C74: C00100DC lfs f0,220(r1)
80090C78: FC010040 fcmpo cr0,f1,f0
80090C7C: 41800014 blt- 0x80090c90
80090C80: C03F0008 lfs f1,8(r31)
80090C84: C00100E4 lfs f0,228(r1)
80090C88: FC010040 fcmpo cr0,f1,f0
80090C8C: 4081000C ble- 0x80090c98
80090C90: 38000000 li r0,0
80090C94: 48000014 b 0x80090ca8
80090C98: C01F0004 lfs f0,4(r31)
80090C9C: FC1F0040 fcmpo cr0,f31,f0
80090CA0: 7C000026 mfcr r0
80090CA4: 540017FE rlwinm r0,r0,2,31,31
80090CA8: 2C000000 cmpwi r0,0
80090CAC: 418200E8 beq- 0x80090d94
80090CB0: FC20F890 fmr f1,f31
80090CB4: 7F03C378 mr r3,r24
80090CB8: 38A100E8 addi r5,r1,232
80090CBC: 38C100B8 addi r6,r1,184
80090CC0: 38E100B0 addi r7,r1,176
80090CC4: 39010008 addi r8,r1,8
80090CC8: 480003F9 bl 0x800910c0
80090CCC: 80010008 lwz r0,8(r1)
80090CD0: 7C7E1B78 mr r30,r3
80090CD4: 2C000002 cmpwi r0,2
80090CD8: 41820040 beq- 0x80090d18
80090CDC: 4080007C bge- 0x80090d58
80090CE0: 2C000001 cmpwi r0,1
80090CE4: 40800008 bge- 0x80090cec
80090CE8: 48000070 b 0x80090d58
80090CEC: C02100B0 lfs f1,176(r1)
80090CF0: 38610110 addi r3,r1,272
80090CF4: C00100B8 lfs f0,184(r1)
80090CF8: 3BBD0001 addi r29,r29,1
80090CFC: 7C23B56E stfsux f1,r3,r22
80090D00: 3AD60014 addi r22,r22,20
80090D04: D0030004 stfs f0,4(r3)
80090D08: D0230008 stfs f1,8(r3)
80090D0C: D003000C stfs f0,12(r3)
80090D10: 92A30010 stw r21,16(r3)
80090D14: 48000044 b 0x80090d58
80090D18: C02100B0 lfs f1,176(r1)
80090D1C: 38610110 addi r3,r1,272
80090D20: C00100B8 lfs f0,184(r1)
80090D24: 3BBD0001 addi r29,r29,1
80090D28: 7C23B56E stfsux f1,r3,r22
80090D2C: 3AD60014 addi r22,r22,20
80090D30: C04100BC lfs f2,188(r1)
80090D34: D0030004 stfs f0,4(r3)
80090D38: C02100B4 lfs f1,180(r1)
80090D3C: FC001040 fcmpo cr0,f0,f2
80090D40: D0230008 stfs f1,8(r3)
80090D44: D043000C stfs f2,12(r3)
80090D48: 4080000C bge- 0x80090d54
80090D4C: 92A30010 stw r21,16(r3)
80090D50: 48000008 b 0x80090d58
80090D54: 92630010 stw r19,16(r3)
80090D58: 386100B8 addi r3,r1,184
80090D5C: 38800000 li r4,0
80090D60: 48000028 b 0x80090d88
80090D64: C01A0000 lfs f0,0(r26)
80090D68: C0230000 lfs f1,0(r3)
80090D6C: FC010040 fcmpo cr0,f1,f0
80090D70: 40810008 ble- 0x80090d78
80090D74: 48000008 b 0x80090d7c
80090D78: FC200090 fmr f1,f0
80090D7C: D03A0000 stfs f1,0(r26)
80090D80: 38630004 addi r3,r3,4
80090D84: 38840001 addi r4,r4,1
80090D88: 80010008 lwz r0,8(r1)
80090D8C: 7C040000 cmpw r4,r0
80090D90: 4180FFD4 blt+ 0x80090d64
80090D94: 881B0008 lbz r0,8(r27)
80090D98: 3B9C0001 addi r28,r28,1
80090D9C: 80780004 lwz r3,4(r24)
80090DA0: 54000673 rlwinm. r0,r0,0,25,25
80090DA4: 4182000C beq- 0x80090db0
80090DA8: 3B600000 li r27,0
80090DAC: 48000010 b 0x80090dbc
80090DB0: A01B0000 lhz r0,0(r27)
80090DB4: 54002036 rlwinm r0,r0,4,0,27
80090DB8: 7F630214 add r27,r3,r0
80090DBC: 2C1B0000 cmpwi r27,0
80090DC0: 4182000C beq- 0x80090dcc
80090DC4: 38600001 li r3,1
80090DC8: 4800000C b 0x80090dd4
80090DCC: 3B600000 li r27,0
80090DD0: 38600000 li r3,0
80090DD4: 2C030000 cmpwi r3,0
80090DD8: 4082028C bne- 0x80091064
80090DDC: 5780103A rlwinm r0,r28,2,0,29
80090DE0: 80780004 lwz r3,4(r24)
80090DE4: 7CD40214 add r6,r20,r0
80090DE8: 80A6FFFC lwz r5,-4(r6)
80090DEC: 88050008 lbz r0,8(r5)
80090DF0: 54000631 rlwinm. r0,r0,0,24,24
80090DF4: 4182000C beq- 0x80090e00
80090DF8: 38800000 li r4,0
80090DFC: 48000010 b 0x80090e0c
80090E00: A0050002 lhz r0,2(r5)
80090E04: 54002036 rlwinm r0,r0,4,0,27
80090E08: 7C830214 add r4,r3,r0
80090E0C: 2C040000 cmpwi r4,0
80090E10: 41820050 beq- 0x80090e60
80090E14: 7C1B2040 cmplw r27,r4
80090E18: 41820048 beq- 0x80090e60
80090E1C: 381CFFFF subi r0,r28,1
80090E20: 7C9B2378 mr r27,r4
80090E24: 1C000018 mulli r0,r0,24
80090E28: 7D120214 add r8,r18,r0
80090E2C: 7CF2002E lwzx r7,r18,r0
80090E30: 80C80004 lwz r6,4(r8)
80090E34: 80A80008 lwz r5,8(r8)
80090E38: 8088000C lwz r4,12(r8)
80090E3C: 80680010 lwz r3,16(r8)
80090E40: 80080014 lwz r0,20(r8)
80090E44: 90E100F8 stw r7,248(r1)
80090E48: 90C100FC stw r6,252(r1)
80090E4C: 90A10100 stw r5,256(r1)
80090E50: 90810104 stw r4,260(r1)
80090E54: 90610108 stw r3,264(r1)
80090E58: 9001010C stw r0,268(r1)
80090E5C: 48000014 b 0x80090e70
80090E60: 379CFFFF subic. r28,r28,1
80090E64: 7CBB2B78 mr r27,r5
80090E68: 38C6FFFC subi r6,r6,4
80090E6C: 4181FF7C bgt+ 0x80090de8
80090E70: 2C1C0000 cmpwi r28,0
80090E74: 408201F0 bne- 0x80091064
80090E78: 1C1D0014 mulli r0,r29,20
80090E7C: 38C10110 addi r6,r1,272
80090E80: C1028B74 lfs f8,-29836(r2)
80090E84: 3C804330 lis r4,17200
80090E88: C0A28B78 lfs f5,-29832(r2)
80090E8C: C0E28B84 lfs f7,-29820(r2)
80090E90: C8428B88 lfd f2,-29816(r2)
80090E94: 7CC60214 add r6,r6,r0
80090E98: C0028B80 lfs f0,-29824(r2)
80090E9C: 4800019C b 0x80091038
80090EA0: 381DFFFF subi r0,r29,1
80090EA4: 38E10124 addi r7,r1,292
80090EA8: 39400000 li r10,0
80090EAC: 39200001 li r9,1
80090EB0: 7C0903A6 mtctr r0
80090EB4: 2C1D0001 cmpwi r29,1
80090EB8: 40810048 ble- 0x80090f00
80090EBC: 1C6A0014 mulli r3,r10,20
80090EC0: 39010110 addi r8,r1,272
80090EC4: 80070010 lwz r0,16(r7)
80090EC8: 7D081A14 add r8,r8,r3
80090ECC: 54001838 rlwinm r0,r0,3,0,28
80090ED0: 80A80010 lwz r5,16(r8)
80090ED4: 7C670214 add r3,r7,r0
80090ED8: C0630004 lfs f3,4(r3)
80090EDC: 54A01838 rlwinm r0,r5,3,0,28
80090EE0: 7C680214 add r3,r8,r0
80090EE4: C0230004 lfs f1,4(r3)
80090EE8: FC030840 fcmpo cr0,f3,f1
80090EEC: 40800008 bge- 0x80090ef4
80090EF0: 7D2A4B78 mr r10,r9
80090EF4: 38E70014 addi r7,r7,20
80090EF8: 39290001 addi r9,r9,1
80090EFC: 4200FFC0 bdnz+ 0x80090ebc
80090F00: 1CEA0014 mulli r7,r10,20
80090F04: 38A10110 addi r5,r1,272
80090F08: 39200000 li r9,0
80090F0C: 7D053A14 add r8,r5,r7
80090F10: 7FA903A6 mtctr r29
80090F14: 2C1D0000 cmpwi r29,0
80090F18: 408100C0 ble- 0x80090fd8
80090F1C: 7C095000 cmpw r9,r10
80090F20: 418200AC beq- 0x80090fcc
80090F24: 80080010 lwz r0,16(r8)
80090F28: C1250000 lfs f9,0(r5)
80090F2C: 54001838 rlwinm r0,r0,3,0,28
80090F30: C0850008 lfs f4,8(r5)
80090F34: EC294028 fsubs f1,f9,f8
80090F38: 7C68042E lfsx f3,r8,r0
80090F3C: 7C680214 add r3,r8,r0
80090F40: FC030840 fcmpo cr0,f3,f1
80090F44: 41800010 blt- 0x80090f54
80090F48: EC24402A fadds f1,f4,f8
80090F4C: FC011840 fcmpo cr0,f1,f3
80090F50: 4080000C bge- 0x80090f5c
80090F54: C0228B80 lfs f1,-29824(r2)
80090F58: 4800006C b 0x80090fc4
80090F5C: EC292028 fsubs f1,f9,f4
80090F60: FC200A10 fabs f1,f1
80090F64: FC014040 fcmpo cr0,f1,f8
80090F68: 40800018 bge- 0x80090f80
80090F6C: C0650004 lfs f3,4(r5)
80090F70: C025000C lfs f1,12(r5)
80090F74: EC23082A fadds f1,f3,f1
80090F78: EC2101F2 fmuls f1,f1,f7
80090F7C: 48000024 b 0x80090fa0
80090F80: ECC34828 fsubs f6,f3,f9
80090F84: C065000C lfs f3,12(r5)
80090F88: EC844828 fsubs f4,f4,f9
80090F8C: C0250004 lfs f1,4(r5)
80090F90: ECC62024 fdivs f6,f6,f4
80090F94: EC853028 fsubs f4,f5,f6
80090F98: EC6301B2 fmuls f3,f3,f6
80090F9C: EC21193A fmadds f1,f1,f4,f3
80090FA0: EC212828 fsubs f1,f1,f5
80090FA4: C0630004 lfs f3,4(r3)
80090FA8: FC030840 fcmpo cr0,f3,f1
80090FAC: 7C000026 mfcr r0
80090FB0: 90810390 stw r4,912(r1)
80090FB4: 54000FFE rlwinm r0,r0,1,31,31
80090FB8: 90010394 stw r0,916(r1)
80090FBC: C8210390 lfd f1,912(r1)
80090FC0: EC211028 fsubs f1,f1,f2
80090FC4: FC010000 fcmpu cr0,f1,f0
80090FC8: 40820010 bne- 0x80090fd8
80090FCC: 38A50014 addi r5,r5,20
80090FD0: 39290001 addi r9,r9,1
80090FD4: 4200FF48 bdnz+ 0x80090f1c
80090FD8: 7C09E800 cmpw r9,r29
80090FDC: 4082002C bne- 0x80091008
80090FE0: 38610120 addi r3,r1,288
80090FE4: 38010110 addi r0,r1,272
80090FE8: 7C83382E lwzx r4,r3,r7
80090FEC: 7C003A14 add r0,r0,r7
80090FF0: 38600001 li r3,1
80090FF4: 54841838 rlwinm r4,r4,3,0,28
80090FF8: 7C840214 add r4,r4,r0
80090FFC: C0040004 lfs f0,4(r4)
80091000: D0190000 stfs f0,0(r25)
80091004: 4800006C b 0x80091070
80091008: 8066FFEC lwz r3,-20(r6)
8009100C: 3BBDFFFF subi r29,r29,1
80091010: 8006FFF0 lwz r0,-16(r6)
80091014: 90680000 stw r3,0(r8)
80091018: 90080004 stw r0,4(r8)
8009101C: 8066FFF4 lwz r3,-12(r6)
80091020: 8006FFF8 lwz r0,-8(r6)
80091024: 90680008 stw r3,8(r8)
80091028: 9008000C stw r0,12(r8)
8009102C: 8006FFFC lwz r0,-4(r6)
80091030: 38C6FFEC subi r6,r6,20
80091034: 90080010 stw r0,16(r8)
80091038: 2C1D0001 cmpwi r29,1
8009103C: 4181FE64 bgt+ 0x80090ea0
80091040: 4082001C bne- 0x8009105c
80091044: 80610120 lwz r3,288(r1)
80091048: 38010110 addi r0,r1,272
8009104C: 54631838 rlwinm r3,r3,3,0,28
80091050: 7C601A14 add r3,r0,r3
80091054: C0030004 lfs f0,4(r3)
80091058: D0190000 stfs f0,0(r25)
8009105C: 7FC3F378 mr r3,r30
80091060: 48000010 b 0x80091070
80091064: 2C1B0000 cmpwi r27,0
80091068: 4082F87C bne+ 0x800908e4
8009106C: 7FC3F378 mr r3,r30
80091070: E3E103E8 psq_l f31,1000(r1),0,0
80091074: 396103E0 addi r11,r1,992
80091078: CBE103E0 lfd f31,992(r1)
8009107C: 48124D39 bl 0x801b5db4
80091080: 800103F4 lwz r0,1012(r1)
80091084: 7C0803A6 mtlr r0
80091088: 382103F0 addi r1,r1,1008
8009108C: 4E800020 blr
Here's the rest[/spoiler]
So I'm thinking
I could replace the stfd f26,448(r1) ---> the the value of DAR into f26
to lfd f26,448(1)
then perhaps Fadds ---> which means entering a value to a float ( do I have to use non-volatile float b/c f26 is volatile?) then adding it to f26
I would most likely have a branch, so that it stays the same if nothing happens
And store the added value back to sftd
What would be nice is to incorporate a reset task where "when nothing then ---> put back original output"
The code that dcx2 has shown me in this tutorial seems to me only possible with volatile floats. But hey I know nothing about ASM, so I could be wrong here.
My logic is, don't use liquids where solids are needed. where liquid is volatile and solids are non-volatiles.
And because it's a non-volatile float, I'm thinking STACK!! STACK STACK STACK!!!!
But how do you do that with floats?
What say you, dcx2 sir?
Stacking Instructions by dcx2
[spoiler]http://wiird.l0nk.org/forum/index.php/topic,5080.0.html[/spoiler]
I've executed the stwu from the bl that I found and here are the registers
[spoiler]CR:48200042 XER:20000000 CTR:00000000 DSIS:00400000
DAR:8062A010 SRR0:800910C0 SRR1:0000B032 LR:80090B30
r0:00000001 r1:8062A070 r2:8061FA20 r3:90A270DC
r4:000027AC r5:8062A158 r6:8062A128 r7:8062A120
r8:8062A078 r9:8062A180 r10:80405FF8 r11:00000005
r12:8001F63C r13:8061D200 r14:00000000 r15:00000000
r16:91D837E9 r17:000000C0 r18:80405E90 r19:00000001
r20:80405E10 r21:00000000 r22:00000000 r23:00000003
r24:90A270DC r25:8062A4B4 r26:8062A4B0 r27:91D837E0
r28:0000000E r29:00000000 r30:00000000 r31:80405FE0
f0:B7DBE0A3 f1:432A0000 f2:00000000 f3:3F800000
f4:C1C7FFFF f5:C1C7FFFF f6:440B9899 f7:3F7FFFFF
f8:00000000 f9:00000000 f10:00000000 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:3F800000
f24:00000000 f25:00000000 f26:432A0000 f27:00000000
f28:00000000 f29:00000000 f30:00000000 f31:432A0000[/spoiler]
And Function
[spoiler]800910C0: 9421FDE0 stwu r1,-544(r1)
800910C4: DBE10210 stfd f31,528(r1)
800910C8: F3E10218 psq_st f31,536(r1),0,0
800910CC: DBC10200 stfd f30,512(r1)
800910D0: F3C10208 psq_st f30,520(r1),0,0
800910D4: DBA101F0 stfd f29,496(r1)
800910D8: F3A101F8 psq_st f29,504(r1),0,0
800910DC: DB8101E0 stfd f28,480(r1)
800910E0: F38101E8 psq_st f28,488(r1),0,0
800910E4: DB6101D0 stfd f27,464(r1)
800910E8: F36101D8 psq_st f27,472(r1),0,0
800910EC: DB4101C0 stfd f26,448(r1)
800910F0: F34101C8 psq_st f26,456(r1),0,0
800910F4: DB2101B0 stfd f25,432(r1)
800910F8: F32101B8 psq_st f25,440(r1),0,0
800910FC: DB0101A0 stfd f24,416(r1)
80091100: F30101A8 psq_st f24,424(r1),0,0
80091104: 38000000 li r0,0
80091108: 54842036 rlwinm r4,r4,4,0,27
8009110C: 93E1019C stw r31,412(r1)
80091110: 93C10198 stw r30,408(r1)
80091114: 93A10194 stw r29,404(r1)
80091118: 90080000 stw r0,0(r8)
8009111C: 81230008 lwz r9,8(r3)
80091120: 7D692214 add r11,r9,r4
80091124: 808B000C lwz r4,12(r11)
80091128: 5484073E rlwinm r4,r4,0,28,31
8009112C: 2804000A cmplwi r4,10
80091130: 4182000C beq- 0x8009113c
80091134: 38600000 li r3,0
80091138: 48000788 b 0x800918c0
8009113C: A88B0008 lha r4,8(r11)
80091140: 2C040000 cmpwi r4,0
80091144: 4080000C bge- 0x80091150
80091148: 38600000 li r3,0
8009114C: 48000774 b 0x800918c0
80091150: A12B0002 lhz r9,2(r11)
80091154: A14B0000 lhz r10,0(r11)
80091158: A08B0004 lhz r4,4(r11)
8009115C: 8163000C lwz r11,12(r3)
80091160: 1D4A000C mulli r10,r10,12
80091164: C0650000 lfs f3,0(r5)
80091168: C0450004 lfs f2,4(r5)
8009116C: 7FAB5214 add r29,r11,r10
80091170: 7C0B542E lfsx f0,r11,r10
80091174: 1C69000C mulli r3,r9,12
80091178: C09D0008 lfs f4,8(r29)
8009117C: D0010140 stfs f0,320(r1)
80091180: C0028B74 lfs f0,-29836(r2)
80091184: 7FCB1A14 add r30,r11,r3
80091188: 81810140 lwz r12,320(r1)
8009118C: 1C64000C mulli r3,r4,12
80091190: C0FE0000 lfs f7,0(r30)
80091194: C0DE0008 lfs f6,8(r30)
80091198: D0E10138 stfs f7,312(r1)
8009119C: 7FEB1A14 add r31,r11,r3
800911A0: 7CAB1C2E lfsx f5,r11,r3
800911A4: D0810144 stfs f4,324(r1)
800911A8: C09F0008 lfs f4,8(r31)
800911AC: 81410138 lwz r10,312(r1)
800911B0: D0C1013C stfs f6,316(r1)
800911B4: 81610144 lwz r11,324(r1)
800911B8: D0A10130 stfs f5,304(r1)
800911BC: 8121013C lwz r9,316(r1)
800911C0: D0810134 stfs f4,308(r1)
800911C4: 80810130 lwz r4,304(r1)
800911C8: 91810158 stw r12,344(r1)
800911CC: 80610134 lwz r3,308(r1)
800911D0: C1810158 lfs f12,344(r1)
800911D4: 91410150 stw r10,336(r1)
800911D8: EC636028 fsubs f3,f3,f12
800911DC: C1410150 lfs f10,336(r1)
800911E0: 9161015C stw r11,348(r1)
800911E4: EC8A6028 fsubs f4,f10,f12
800911E8: C161015C lfs f11,348(r1)
800911EC: 91210154 stw r9,340(r1)
800911F0: EC425828 fsubs f2,f2,f11
800911F4: C1210154 lfs f9,340(r1)
800911F8: 90810148 stw r4,328(r1)
800911FC: ECC95828 fsubs f6,f9,f11
80091200: C1010148 lfs f8,328(r1)
80091204: 9061014C stw r3,332(r1)
80091208: ECA86028 fsubs f5,f8,f12
8009120C: C0E1014C lfs f7,332(r1)
80091210: D08100F8 stfs f4,248(r1)
80091214: EC875828 fsubs f4,f7,f11
80091218: 818100F8 lwz r12,248(r1)
8009121C: D0C100FC stfs f6,252(r1)
80091220: 816100FC lwz r11,252(r1)
80091224: D0A100F0 stfs f5,240(r1)
80091228: 814100F0 lwz r10,240(r1)
8009122C: D08100F4 stfs f4,244(r1)
80091230: 812100F4 lwz r9,244(r1)
80091234: D06100E8 stfs f3,232(r1)
80091238: D04100EC stfs f2,236(r1)
8009123C: 808100E8 lwz r4,232(r1)
80091240: 806100EC lwz r3,236(r1)
80091244: 93A10168 stw r29,360(r1)
80091248: 93C1016C stw r30,364(r1)
8009124C: 93E10170 stw r31,368(r1)
80091250: D1810178 stfs f12,376(r1)
80091254: D161017C stfs f11,380(r1)
80091258: D1410180 stfs f10,384(r1)
8009125C: D1210184 stfs f9,388(r1)
80091260: D1010188 stfs f8,392(r1)
80091264: D0E1018C stfs f7,396(r1)
80091268: 91810110 stw r12,272(r1)
8009126C: 91610114 stw r11,276(r1)
80091270: 91810128 stw r12,296(r1)
80091274: 9161012C stw r11,300(r1)
80091278: 91410108 stw r10,264(r1)
8009127C: 9121010C stw r9,268(r1)
80091280: 91410120 stw r10,288(r1)
80091284: 91210124 stw r9,292(r1)
80091288: 90810100 stw r4,256(r1)
8009128C: 90610104 stw r3,260(r1)
80091290: C061012C lfs f3,300(r1)
80091294: FC400050 fneg f2,f0
80091298: C0C10120 lfs f6,288(r1)
8009129C: FC801850 fneg f4,f3
800912A0: 9061011C stw r3,284(r1)
800912A4: EC6600F2 fmuls f3,f6,f3
800912A8: C1410128 lfs f10,296(r1)
800912AC: C1210124 lfs f9,292(r1)
800912B0: C1028B78 lfs f8,-29832(r2)
800912B4: ECAA1A78 fmsubs f5,f10,f9,f3
800912B8: C0E1011C lfs f7,284(r1)
800912BC: 90810118 stw r4,280(r1)
800912C0: EC6601F2 fmuls f3,f6,f7
800912C4: ED682824 fdivs f11,f8,f5
800912C8: C0C10118 lfs f6,280(r1)
800912CC: ECA919B8 fmsubs f5,f9,f6,f3
800912D0: EC6A01F2 fmuls f3,f10,f7
800912D4: ECAB0172 fmuls f5,f11,f5
800912D8: EC6419BA fmadds f3,f4,f6,f3
800912DC: FC051040 fcmpo cr0,f5,f2
800912E0: ECCB00F2 fmuls f6,f11,f3
800912E4: 40810020 ble- 0x80091304
800912E8: FC061040 fcmpo cr0,f6,f2
800912EC: 40810018 ble- 0x80091304
800912F0: EC45302A fadds f2,f5,f6
800912F4: EC08002A fadds f0,f8,f0
800912F8: FC020040 fcmpo cr0,f2,f0
800912FC: 40800008 bge- 0x80091304
80091300: 38000001 li r0,1
80091304: 2C000000 cmpwi r0,0
80091308: 418201E8 beq- 0x800914f0
8009130C: C0028B78 lfs f0,-29832(r2)
80091310: 8061016C lwz r3,364(r1)
80091314: EC402828 fsubs f2,f0,f5
80091318: 80810168 lwz r4,360(r1)
8009131C: C0030004 lfs f0,4(r3)
80091320: 80610170 lwz r3,368(r1)
80091324: EC823028 fsubs f4,f2,f6
80091328: C0440004 lfs f2,4(r4)
8009132C: EC650032 fmuls f3,f5,f0
80091330: C0030004 lfs f0,4(r3)
80091334: EC42193A fmadds f2,f2,f4,f3
80091338: EC46103A fmadds f2,f6,f0,f2
8009133C: FC020840 fcmpo cr0,f2,f1
80091340: 4080002C bge- 0x8009136c
80091344: 80080000 lwz r0,0(r8)
80091348: C0028B80 lfs f0,-29824(r2)
8009134C: 5400103A rlwinm r0,r0,2,0,29
80091350: 7C46052E stfsx f2,r6,r0
80091354: 80080000 lwz r0,0(r8)
80091358: 5400103A rlwinm r0,r0,2,0,29
8009135C: 7C07052E stfsx f0,r7,r0
80091360: 80680000 lwz r3,0(r8)
80091364: 38030001 addi r0,r3,1
80091368: 90080000 stw r0,0(r8)
8009136C: C0E10178 lfs f7,376(r1)
80091370: 38000000 li r0,0
80091374: C0010188 lfs f0,392(r1)
80091378: C0610184 lfs f3,388(r1)
8009137C: EC403828 fsubs f2,f0,f7
80091380: C081017C lfs f4,380(r1)
80091384: C0A10180 lfs f5,384(r1)
80091388: EC632028 fsubs f3,f3,f4
8009138C: C001018C lfs f0,396(r1)
80091390: D04100A8 stfs f2,168(r1)
80091394: EC402028 fsubs f2,f0,f4
80091398: C005000C lfs f0,12(r5)
8009139C: ECC53828 fsubs f6,f5,f7
800913A0: 814100A8 lwz r10,168(r1)
800913A4: ECA02028 fsubs f5,f0,f4
800913A8: D06100B4 stfs f3,180(r1)
800913AC: C0050008 lfs f0,8(r5)
800913B0: 816100B4 lwz r11,180(r1)
800913B4: D0C100B0 stfs f6,176(r1)
800913B8: ED203828 fsubs f9,f0,f7
800913BC: C1428B74 lfs f10,-29836(r2)
800913C0: 818100B0 lwz r12,176(r1)
800913C4: D04100AC stfs f2,172(r1)
800913C8: FC005050 fneg f0,f10
800913CC: C0C28B78 lfs f6,-29832(r2)
800913D0: 812100AC lwz r9,172(r1)
800913D4: 916100E4 stw r11,228(r1)
800913D8: 914100D8 stw r10,216(r1)
800913DC: C04100E4 lfs f2,228(r1)
800913E0: 918100E0 stw r12,224(r1)
800913E4: C08100D8 lfs f4,216(r1)
800913E8: FC601050 fneg f3,f2
800913EC: 912100DC stw r9,220(r1)
800913F0: EC4400B2 fmuls f2,f4,f2
800913F4: C10100E0 lfs f8,224(r1)
800913F8: C0E100DC lfs f7,220(r1)
800913FC: D12100A0 stfs f9,160(r1)
80091400: EC4811F8 fmsubs f2,f8,f7,f2
80091404: 808100A0 lwz r4,160(r1)
80091408: D0A100A4 stfs f5,164(r1)
8009140C: ED261024 fdivs f9,f6,f2
80091410: 806100A4 lwz r3,164(r1)
80091414: 908100D0 stw r4,208(r1)
80091418: 906100D4 stw r3,212(r1)
8009141C: C0A100D0 lfs f5,208(r1)
80091420: C04100D4 lfs f2,212(r1)
80091424: EC8400B2 fmuls f4,f4,f2
80091428: 918100C8 stw r12,200(r1)
8009142C: EC4800B2 fmuls f2,f8,f2
80091430: 916100CC stw r11,204(r1)
80091434: EC872178 fmsubs f4,f7,f5,f4
80091438: EC43117A fmadds f2,f3,f5,f2
8009143C: 914100C0 stw r10,192(r1)
80091440: EC690132 fmuls f3,f9,f4
80091444: 912100C4 stw r9,196(r1)
80091448: EC8900B2 fmuls f4,f9,f2
8009144C: 908100B8 stw r4,184(r1)
80091450: FC030040 fcmpo cr0,f3,f0
80091454: 906100BC stw r3,188(r1)
80091458: 40810020 ble- 0x80091478
8009145C: FC040040 fcmpo cr0,f4,f0
80091460: 40810018 ble- 0x80091478
80091464: EC43202A fadds f2,f3,f4
80091468: EC06502A fadds f0,f6,f10
8009146C: FC020040 fcmpo cr0,f2,f0
80091470: 40800008 bge- 0x80091478
80091474: 38000001 li r0,1
80091478: 2C000000 cmpwi r0,0
8009147C: 418201E4 beq- 0x80091660
80091480: C0C28B78 lfs f6,-29832(r2)
80091484: 8061016C lwz r3,364(r1)
80091488: EC461828 fsubs f2,f6,f3
the rest is in the next reply
[/spoiler]
the rest of the function
[spoiler]8009148C: 80810168 lwz r4,360(r1)
80091490: C0030004 lfs f0,4(r3)
80091494: 80610170 lwz r3,368(r1)
80091498: ECA22028 fsubs f5,f2,f4
8009149C: C0440004 lfs f2,4(r4)
800914A0: EC630032 fmuls f3,f3,f0
800914A4: C0030004 lfs f0,4(r3)
800914A8: EC42197A fmadds f2,f2,f5,f3
800914AC: EC04103A fmadds f0,f4,f0,f2
800914B0: FC000840 fcmpo cr0,f0,f1
800914B4: 40800028 bge- 0x800914dc
800914B8: 80080000 lwz r0,0(r8)
800914BC: 5400103A rlwinm r0,r0,2,0,29
800914C0: 7C06052E stfsx f0,r6,r0
800914C4: 80080000 lwz r0,0(r8)
800914C8: 5400103A rlwinm r0,r0,2,0,29
800914CC: 7CC7052E stfsx f6,r7,r0
800914D0: 80680000 lwz r3,0(r8)
800914D4: 38030001 addi r0,r3,1
800914D8: 90080000 stw r0,0(r8)
800914DC: 80680000 lwz r3,0(r8)
800914E0: 7C0300D0 neg r0,r3
800914E4: 7C001878 andc r0,r0,r3
800914E8: 54030FFE rlwinm r3,r0,1,31,31
800914EC: 480003D4 b 0x800918c0
800914F0: C0E10178 lfs f7,376(r1)
800914F4: 38000000 li r0,0
800914F8: C0010188 lfs f0,392(r1)
800914FC: C0610184 lfs f3,388(r1)
80091500: EC403828 fsubs f2,f0,f7
80091504: C081017C lfs f4,380(r1)
80091508: C0A10180 lfs f5,384(r1)
8009150C: EC632028 fsubs f3,f3,f4
80091510: C001018C lfs f0,396(r1)
80091514: D0410060 stfs f2,96(r1)
80091518: EC402028 fsubs f2,f0,f4
8009151C: C005000C lfs f0,12(r5)
80091520: ECC53828 fsubs f6,f5,f7
80091524: 81410060 lwz r10,96(r1)
80091528: ECA02028 fsubs f5,f0,f4
8009152C: D061006C stfs f3,108(r1)
80091530: C0050008 lfs f0,8(r5)
80091534: 8161006C lwz r11,108(r1)
80091538: D0C10068 stfs f6,104(r1)
8009153C: ED203828 fsubs f9,f0,f7
80091540: C1428B74 lfs f10,-29836(r2)
80091544: 81810068 lwz r12,104(r1)
80091548: D0410064 stfs f2,100(r1)
8009154C: FC005050 fneg f0,f10
80091550: C0C28B78 lfs f6,-29832(r2)
80091554: 81210064 lwz r9,100(r1)
80091558: 9161009C stw r11,156(r1)
8009155C: 91410090 stw r10,144(r1)
80091560: C041009C lfs f2,156(r1)
80091564: 91810098 stw r12,152(r1)
80091568: C0810090 lfs f4,144(r1)
8009156C: FC601050 fneg f3,f2
80091570: 91210094 stw r9,148(r1)
80091574: EC4400B2 fmuls f2,f4,f2
80091578: C1010098 lfs f8,152(r1)
8009157C: C0E10094 lfs f7,148(r1)
80091580: D1210058 stfs f9,88(r1)
80091584: EC4811F8 fmsubs f2,f8,f7,f2
80091588: 80810058 lwz r4,88(r1)
8009158C: D0A1005C stfs f5,92(r1)
80091590: ED261024 fdivs f9,f6,f2
80091594: 8061005C lwz r3,92(r1)
80091598: 90810088 stw r4,136(r1)
8009159C: 9061008C stw r3,140(r1)
800915A0: C0A10088 lfs f5,136(r1)
800915A4: C041008C lfs f2,140(r1)
800915A8: EC8400B2 fmuls f4,f4,f2
800915AC: 91810080 stw r12,128(r1)
800915B0: EC4800B2 fmuls f2,f8,f2
800915B4: 91610084 stw r11,132(r1)
800915B8: EC872178 fmsubs f4,f7,f5,f4
800915BC: EC43117A fmadds f2,f3,f5,f2
800915C0: 91410078 stw r10,120(r1)
800915C4: EC690132 fmuls f3,f9,f4
800915C8: 9121007C stw r9,124(r1)
800915CC: EC8900B2 fmuls f4,f9,f2
800915D0: 90810070 stw r4,112(r1)
800915D4: FC030040 fcmpo cr0,f3,f0
800915D8: 90610074 stw r3,116(r1)
800915DC: 40810020 ble- 0x800915fc
800915E0: FC040040 fcmpo cr0,f4,f0
800915E4: 40810018 ble- 0x800915fc
800915E8: EC43202A fadds f2,f3,f4
800915EC: EC06502A fadds f0,f6,f10
800915F0: FC020040 fcmpo cr0,f2,f0
800915F4: 40800008 bge- 0x800915fc
800915F8: 38000001 li r0,1
800915FC: 2C000000 cmpwi r0,0
80091600: 41820060 beq- 0x80091660
80091604: C0E28B78 lfs f7,-29832(r2)
80091608: 8061016C lwz r3,364(r1)
8009160C: EC471828 fsubs f2,f7,f3
80091610: 80810168 lwz r4,360(r1)
80091614: C0030004 lfs f0,4(r3)
80091618: 80610170 lwz r3,368(r1)
8009161C: ECC22028 fsubs f6,f2,f4
80091620: C0440004 lfs f2,4(r4)
80091624: ECA30032 fmuls f5,f3,f0
80091628: C0030004 lfs f0,4(r3)
8009162C: EC4229BA fmadds f2,f2,f6,f5
80091630: EC04103A fmadds f0,f4,f0,f2
80091634: FC000840 fcmpo cr0,f0,f1
80091638: 40800028 bge- 0x80091660
8009163C: 80080000 lwz r0,0(r8)
80091640: 5400103A rlwinm r0,r0,2,0,29
80091644: 7C06052E stfsx f0,r6,r0
80091648: 80080000 lwz r0,0(r8)
8009164C: 5400103A rlwinm r0,r0,2,0,29
80091650: 7CE7052E stfsx f7,r7,r0
80091654: 80680000 lwz r3,0(r8)
80091658: 38030001 addi r0,r3,1
8009165C: 90080000 stw r0,0(r8)
80091660: 38810168 addi r4,r1,360
80091664: 3D205555 lis r9,21845
80091668: 38095556 addi r0,r9,21846
8009166C: 39400003 li r10,3
80091670: 38610178 addi r3,r1,376
80091674: 7C8B2378 mr r11,r4
80091678: C1628B80 lfs f11,-29824(r2)
8009167C: 39200000 li r9,0
80091680: C0C28B78 lfs f6,-29832(r2)
80091684: C8E28B90 lfd f7,-29808(r2)
80091688: 7D4903A6 mtctr r10
8009168C: 3BE90001 addi r31,r9,1
80091690: 3BA10178 addi r29,r1,376
80091694: 7D80F896 mulhw r12,r0,r31
80091698: C0050004 lfs f0,4(r5)
8009169C: C1430004 lfs f10,4(r3)
800916A0: C345000C lfs f26,12(r5)
800916A4: C1250008 lfs f9,8(r5)
800916A8: ED005028 fsubs f8,f0,f10
800916AC: 558A0FFE rlwinm r10,r12,1,31,31
800916B0: C3C30000 lfs f30,0(r3)
800916B4: 7D4C5214 add r10,r12,r10
800916B8: C0450000 lfs f2,0(r5)
800916BC: 1D8A0003 mulli r12,r10,3
800916C0: ECA9F028 fsubs f5,f9,f30
800916C4: EDA91028 fsubs f13,f9,f2
800916C8: ED9A0028 fsubs f12,f26,f0
800916CC: 7FCCF850 sub r30,r31,r12
800916D0: EFE2F028 fsubs f31,f2,f30
800916D4: 57CC1838 rlwinm r12,r30,3,0,28
800916D8: ECA80172 fmuls f5,f8,f5
800916DC: 7F1D646E lfsux f24,r29,r12
800916E0: D181003C stfs f12,60(r1)
800916E4: C37D0004 lfs f27,4(r29)
800916E8: ED29C028 fsubs f9,f9,f24
800916EC: 8141003C lwz r10,60(r1)
800916F0: EF22C028 fsubs f25,f2,f24
800916F4: EFA0D828 fsubs f29,f0,f27
800916F8: D1A10038 stfs f13,56(r1)
800916FC: EF9AD828 fsubs f28,f26,f27
80091700: 81810038 lwz r12,56(r1)
80091704: EFBD0272 fmuls f29,f29,f9
80091708: 9141001C stw r10,28(r1)
8009170C: ED3A5028 fsubs f9,f26,f10
80091710: 91810018 stw r12,24(r1)
80091714: EF39EF38 fmsubs f25,f25,f28,f29
80091718: EF5F2A78 fmsubs f26,f31,f9,f5
8009171C: 91810010 stw r12,16(r1)
80091720: 91410014 stw r10,20(r1)
80091724: ECB906B2 fmuls f5,f25,f26
80091728: FC055840 fcmpo cr0,f5,f11
8009172C: 408000C0 bge- 0x800917ec
80091730: ECAA0028 fsubs f5,f10,f0
80091734: EC981028 fsubs f4,f24,f2
80091738: ED5AC828 fsubs f10,f26,f25
8009173C: ED3E1028 fsubs f9,f30,f2
80091740: ECA50132 fmuls f5,f5,f4
80091744: ED1B0028 fsubs f8,f27,f0
80091748: EC9A5024 fdivs f4,f26,f10
8009174C: ED292A38 fmsubs f9,f9,f8,f5
80091750: ECA9D02A fadds f5,f9,f26
80091754: ED05C828 fsubs f8,f5,f25
80091758: ECA90232 fmuls f5,f9,f8
8009175C: FC055840 fcmpo cr0,f5,f11
80091760: 4080008C bge- 0x800917ec
80091764: EC694028 fsubs f3,f9,f8
80091768: D1A10040 stfs f13,64(r1)
8009176C: 3BA00001 li r29,1
80091770: D1810044 stfs f12,68(r1)
80091774: EC691824 fdivs f3,f9,f3
80091778: 81810040 lwz r12,64(r1)
8009177C: 81410044 lwz r10,68(r1)
80091780: 91810030 stw r12,48(r1)
80091784: 91410034 stw r10,52(r1)
80091788: C1010030 lfs f8,48(r1)
8009178C: C0A10034 lfs f5,52(r1)
80091790: ED0800F2 fmuls f8,f8,f3
80091794: ECA500F2 fmuls f5,f5,f3
80091798: D1010048 stfs f8,72(r1)
8009179C: D0A1004C stfs f5,76(r1)
800917A0: 81810048 lwz r12,72(r1)
800917A4: 8141004C lwz r10,76(r1)
800917A8: 91810028 stw r12,40(r1)
800917AC: 9141002C stw r10,44(r1)
800917B0: C1010028 lfs f8,40(r1)
800917B4: C0A1002C lfs f5,44(r1)
800917B8: EC42402A fadds f2,f2,f8
800917BC: EC00282A fadds f0,f0,f5
800917C0: D0410050 stfs f2,80(r1)
800917C4: D0010054 stfs f0,84(r1)
800917C8: 81810050 lwz r12,80(r1)
800917CC: 81410054 lwz r10,84(r1)
800917D0: 91810020 stw r12,32(r1)
800917D4: 91410024 stw r10,36(r1)
800917D8: C0410020 lfs f2,32(r1)
800917DC: C0010024 lfs f0,36(r1)
800917E0: D0410160 stfs f2,352(r1)
800917E4: D001000C stfs f0,12(r1)
800917E8: 48000008 b 0x800917f0
800917EC: 3BA00000 li r29,0
800917F0: 2C1D0000 cmpwi r29,0
800917F4: 418200AC beq- 0x800918a0
800917F8: 83A80000 lwz r29,0(r8)
800917FC: 2C1D0000 cmpwi r29,0
80091800: 41820018 beq- 0x80091818
80091804: C0070000 lfs f0,0(r7)
80091808: EC030028 fsubs f0,f3,f0
8009180C: FC000210 fabs f0,f0
80091810: FC003840 fcmpo cr0,f0,f7
80091814: 4180008C blt- 0x800918a0
80091818: 57CA103A rlwinm r10,r30,2,0,29
8009181C: 81840000 lwz r12,0(r4)
80091820: 7D4B502E lwzx r10,r11,r10
80091824: ECA62028 fsubs f5,f6,f4
80091828: C00C0004 lfs f0,4(r12)
8009182C: C04A0004 lfs f2,4(r10)
80091830: EC4400B2 fmuls f2,f4,f2
80091834: EC05103A fmadds f0,f5,f0,f2
80091838: FC000840 fcmpo cr0,f0,f1
8009183C: 40800064 bge- 0x800918a0
80091840: 57AA103A rlwinm r10,r29,2,0,29
80091844: 7C06552E stfsx f0,r6,r10
80091848: 81480000 lwz r10,0(r8)
8009184C: 554A103A rlwinm r10,r10,2,0,29
80091850: 7C67552E stfsx f3,r7,r10
80091854: 81480000 lwz r10,0(r8)
80091858: 394A0001 addi r10,r10,1
8009185C: 2C0A0002 cmpwi r10,2
80091860: 91480000 stw r10,0(r8)
80091864: 4180003C blt- 0x800918a0
80091868: C0270000 lfs f1,0(r7)
8009186C: C0070004 lfs f0,4(r7)
80091870: FC010040 fcmpo cr0,f1,f0
80091874: 40810024 ble- 0x80091898
80091878: C0260000 lfs f1,0(r6)
8009187C: C0060004 lfs f0,4(r6)
80091880: D0060000 stfs f0,0(r6)
80091884: D0260004 stfs f1,4(r6)
80091888: C0270000 lfs f1,0(r7)
8009188C: C0070004 lfs f0,4(r7)
80091890: D0070000 stfs f0,0(r7)
80091894: D0270004 stfs f1,4(r7)
80091898: 38600001 li r3,1
8009189C: 48000024 b 0x800918c0
800918A0: 38630008 addi r3,r3,8
800918A4: 38840004 addi r4,r4,4
800918A8: 39290001 addi r9,r9,1
800918AC: 4200FDE0 bdnz+ 0x8009168c
800918B0: 80680000 lwz r3,0(r8)
800918B4: 7C0300D0 neg r0,r3
800918B8: 7C001878 andc r0,r0,r3
800918BC: 54030FFE rlwinm r3,r0,1,31,31
800918C0: E3E10218 psq_l f31,536(r1),0,0
800918C4: CBE10210 lfd f31,528(r1)
800918C8: E3C10208 psq_l f30,520(r1),0,0
800918CC: CBC10200 lfd f30,512(r1)
800918D0: E3A101F8 psq_l f29,504(r1),0,0
800918D4: CBA101F0 lfd f29,496(r1)
800918D8: E38101E8 psq_l f28,488(r1),0,0
800918DC: CB8101E0 lfd f28,480(r1)
800918E0: E36101D8 psq_l f27,472(r1),0,0
800918E4: CB6101D0 lfd f27,464(r1)
800918E8: E34101C8 psq_l f26,456(r1),0,0
800918EC: CB4101C0 lfd f26,448(r1)
800918F0: E32101B8 psq_l f25,440(r1),0,0
800918F4: CB2101B0 lfd f25,432(r1)
800918F8: E30101A8 psq_l f24,424(r1),0,0
800918FC: CB0101A0 lfd f24,416(r1)
80091900: 83E1019C lwz r31,412(r1)
80091904: 83C10198 lwz r30,408(r1)
80091908: 83A10194 lwz r29,404(r1)
8009190C: 38210220 addi r1,r1,544
80091910: 4E800020 blr [/spoiler]
I've reexecuted the stwu and found out that it changes all the time (function stays the same).
Now I've also noticed that r1 has changed. and now the DAR is nowhere to be found I think...
I got bored so I tried a stack!! oh yeah! O0 Doesn't do anything though... as always...
[spoiler]
No anti code
and the empty address is 80002788 (which b me at 800028D0 which executes the code and then b me back to 8000278c)
Button condition
stwu r1,-80(r1)
stmw r14,8(r1)
lis r14,0x8062
ori r14,r14,0xa010
addi r14,r14,1111
lmw r14,8(r1)
addi r1,r1,80
Reset 8000
[/spoiler]
Quote from: Patedj on February 16, 2011, 06:57:53 AM
So I'm thinking
I could replace the stfd f26,448(r1) ---> the the value of DAR into f26
to lfd f26,448(1)
then perhaps Fadds ---> which means entering a value to a float ( do I have to use non-volatile float b/c f26 is volatile?) then adding it to f26
I would most likely have a branch, so that it stays the same if nothing happens
And store the added value back to sftd
What would be nice is to incorporate a reset task where "when nothing then ---> put back original output"
The code that dcx2 has shown me in this tutorial seems to me only possible with volatile floats. But hey I know nothing about ASM, so I could be wrong here.
My logic is, don't use liquids where solids are needed. where liquid is volatile and solids are non-volatiles.
And because it's a non-volatile float, I'm thinking STACK!! STACK STACK STACK!!!!
But how do you do that with floats?
What say you, dcx2 sir?
Stacking Instructions by dcx2
[spoiler]http://wiird.l0nk.org/forum/index.php/topic,5080.0.html[/spoiler]
I think I have a problem with lfd...
Is it the .float that has to change to .double in this instance? if the srro's op is lfd f26,448(r1).
[spoiler]bl NO_DATA
.float 14
NO_DATA:
mflr r12
lfd f0,0(r12)
lfd f26,448(r1)
fadds f26,f0,f26
stfd f26,448(r1)[/spoiler]
If you're using lfd, then you'd need to use .double instead of .float, and doubles are 64 bits as opposed to 32 bits so you would need two 14 code types to write the upper and lower halves of the double.
r1 is the stack pointer. The stack is a chunk of memory used as a temporary storage of data for a given function. The data that you're finding with your breakpoints is NOT being used here. It's being pushed onto and popped off of the stack. I repeat...the data you found is NOT being used in this function, it's pushed onto the stack so the caller's value isn't lost when this function (the callee) starts using those registers. When the callee is done using those registers, it pops the old values off the stack before returning to the caller, so that the caller's original values are preserved.
The function that called this one, which you can determine by looking at the Disassembly's Call Stack listbox during a breakpoint (or by using Step Out, which will go to the caller), is the one using that data.
I do not intend to discourage you from doing ASM. I think you should keep trying ASM...I think you should just try other hacks until you have a better grasp. You are mishandling fundamental concepts (for instance, using the stack as a verb instead of a noun!), and you should work on getting them straight before trying a code like this.
I guess I can always come back to it O0
To all the Edlar Saga Followers out there. I have not abandoned you. I will make a Jump code for this game. But first I have to get good at ASM. I threw myself in the deep end, and doggy paddled back :) It was fun, memorable, and I'm proud of what I have achieved.
Fortunately, I did find the camera addresses, so have fun looking for dragons. (a few posts down).
dcx2, any recommendation on where I should start next, game or type of coding?
I think you know me best... well, you've seen my work, what can I better myself with?
Read the three guides I have posted in the Collective. Not everything will make sense at first, but if you try to read them again after some time then things will start to make more sense.
I don't really have a recommendation on where to go from here. Just keep trying. Failure is the key to success.
Alright I'm back!
Man I can't stand the cameras in this game. There are a dozen addresses for them.
Anyways, I've bumped into one address ( lucky me ) and what happens is that the avatar's shadow disappears but the avatar is still on the ground.
I think this could be remedied if 1:there's an asm somewhere in the function that will let the avatar be in the air.
2:there's another address that is stopping the avatar from being in the air.
Edit:
Code:
0403F4CC 90100088
283CB80A 00000800
C203F4CC 00000005
9421FFF0 91610008
39800009 618C0457
800101F8 7C006214
90100088 81610008
38210010 00000000
E0000000 80008000
ASM:address 8003F4CC
stwu r1,-16(r1)
stw r11,8(r1)
li r12,0011
ori r12,r12,1111
lwz r0,504(r1)
add r0,r0,r12
stw r0,136(r16)
lwz r11,8(r1)
addi r1,r1,16
Registers:[spoiler] CR:82200088 XER:20000000 CTR:00000000 DSIS:02400000
DAR:803E76F0 SRR0:8003F4CC SRR1:0000B032 LR:8003F3CC
r0:45004222 r1:8062ABC0 r2:8061FA20 r3:8062AD3C
r4:803E76F4 r5:3EFFFFFE r6:3F5DB3D7 r7:B1200DFD
r8:80000000 r9:3F1C2895 r10:32807CEA r11:3F4ADB1B
r12:80000000 r13:8061D200 r14:31200DFD r15:C5CCCC9D
r16:803E7668 r17:3F3504F4 r18:00000000 r19:3F3504F3
r20:45A70B5A r21:3F0AAB3C r22:3F248DB8 r23:BF0AAB3D
r24:C5D178FC r25:BEE8B6C2 r26:3F441B80 r27:3EE8B6C4
r28:44CF1B40 r29:BF4ADB1B r30:B2807CEA r31:3F1C2895
f0:C57A0000 f1:C51C4000 f2:BF3244EC f3:3F3244EE
f4:56E09106 f5:33C14608 f6:400000B4 f7:C9D2B81D
f8:4A8BFDA1 f9:CAEC2045 f10:C9EB8669 f11:00000000
f12:453DF760 f13:3F3504F4 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:C5FF1E27 f30:44170D1A f31:453DF75F[/spoiler]
Function:[spoiler]8003F15C: 9421FD80 stwu r1,-640(r1)
8003F160: 7C0802A6 mflr r0
8003F164: 90010284 stw r0,644(r1)
8003F168: DBE10270 stfd f31,624(r1)
8003F16C: F3E10278 psq_st f31,632(r1),0,0
8003F170: DBC10260 stfd f30,608(r1)
8003F174: F3C10268 psq_st f30,616(r1),0,0
8003F178: DBA10250 stfd f29,592(r1)
8003F17C: F3A10258 psq_st f29,600(r1),0,0
8003F180: 39610250 addi r11,r1,592
8003F184: 48176BDD bl 0x801b5d60
8003F188: 800D9874 lwz r0,-26508(r13)
8003F18C: 2C000000 cmpwi r0,0
8003F190: 40820010 bne- 0x8003f1a0
8003F194: 3C60803E lis r3,-32706
8003F198: 38637668 addi r3,r3,30312
8003F19C: 480003CC b 0x8003f568
8003F1A0: 880D9740 lbz r0,-26816(r13)
8003F1A4: 7C000775 extsb. r0,r0
8003F1A8: 40820018 bne- 0x8003f1c0
8003F1AC: 3C60803C lis r3,-32708
8003F1B0: 38639F00 subi r3,r3,24832
8003F1B4: 4BFF5585 bl 0x80034738
8003F1B8: 38000001 li r0,1
8003F1BC: 980D9740 stb r0,-26816(r13)
8003F1C0: 3DE0803C lis r15,-32708
8003F1C4: 39EF9F00 subi r15,r15,24832
8003F1C8: 806F00E4 lwz r3,228(r15)
8003F1CC: 48290F4D bl 0x802d0118
8003F1D0: 90610028 stw r3,40(r1)
8003F1D4: 38610028 addi r3,r1,40
8003F1D8: 388100C0 addi r4,r1,192
8003F1DC: 4828C1D1 bl 0x802cb3ac
8003F1E0: 3DC0803E lis r14,-32706
8003F1E4: C042857C lfs f2,-31364(r2)
8003F1E8: 39CE7640 addi r14,r14,30272
8003F1EC: C0028580 lfs f0,-31360(r2)
8003F1F0: C06E0008 lfs f3,8(r14)
8003F1F4: 38610024 addi r3,r1,36
8003F1F8: C02E000C lfs f1,12(r14)
8003F1FC: 38810020 addi r4,r1,32
8003F200: C08E0018 lfs f4,24(r14)
8003F204: EC63082A fadds f3,f3,f1
8003F208: EC200132 fmuls f1,f0,f4
8003F20C: EFE200F2 fmuls f31,f2,f3
8003F210: 482A4CBD bl 0x802e3ecc
8003F214: C02E001C lfs f1,28(r14)
8003F218: 3861001C addi r3,r1,28
8003F21C: C0028580 lfs f0,-31360(r2)
8003F220: 38810018 addi r4,r1,24
8003F224: EC200072 fmuls f1,f0,f1
8003F228: 482A4CA5 bl 0x802e3ecc
8003F22C: C02E0020 lfs f1,32(r14)
8003F230: 38610014 addi r3,r1,20
8003F234: C0028580 lfs f0,-31360(r2)
8003F238: 38810010 addi r4,r1,16
8003F23C: EC200072 fmuls f1,f0,f1
8003F240: 482A4C8D bl 0x802e3ecc
8003F244: C08E0010 lfs f4,16(r14)
8003F248: 386D9874 subi r3,r13,26508
8003F24C: C02E0014 lfs f1,20(r14)
8003F250: FC602050 fneg f3,f4
8003F254: C0AE0008 lfs f5,8(r14)
8003F258: FC400850 fneg f2,f1
8003F25C: C0CE000C lfs f6,12(r14)
8003F260: 4828C239 bl 0x802cb498
8003F264: C0228564 lfs f1,-31388(r2)
8003F268: 386D9874 subi r3,r13,26508
8003F26C: C0628568 lfs f3,-31384(r2)
8003F270: FC400890 fmr f2,f1
8003F274: FC801890 fmr f4,f3
8003F278: 4828C2AD bl 0x802cb524
8003F27C: 38810060 addi r4,r1,96
8003F280: 386D9874 subi r3,r13,26508
8003F284: 4828C129 bl 0x802cb3ac
8003F288: C0010020 lfs f0,32(r1)
8003F28C: 38000002 li r0,2
8003F290: C0E100D0 lfs f7,208(r1)
8003F294: 386D9874 subi r3,r13,26508
8003F298: EC7F0032 fmuls f3,f31,f0
8003F29C: C0C100D4 lfs f6,212(r1)
8003F2A0: C0A100D8 lfs f5,216(r1)
8003F2A4: C041001C lfs f2,28(r1)
8003F2A8: C0210024 lfs f1,36(r1)
8003F2AC: C0010018 lfs f0,24(r1)
8003F2B0: EFC238FA fmadds f30,f2,f3,f7
8003F2B4: EFFF307A fmadds f31,f31,f1,f6
8003F2B8: C08E0020 lfs f4,32(r14)
8003F2BC: EFA028FA fmadds f29,f0,f3,f5
8003F2C0: 90010060 stw r0,96(r1)
8003F2C4: FC20F090 fmr f1,f30
8003F2C8: FC40F890 fmr f2,f31
8003F2CC: FC60E890 fmr f3,f29
8003F2D0: D0E10070 stfs f7,112(r1)
8003F2D4: D0C10074 stfs f6,116(r1)
8003F2D8: D0A10078 stfs f5,120(r1)
8003F2DC: D0810088 stfs f4,136(r1)
8003F2E0: 4828BE21 bl 0x802cb100
8003F2E4: 38810060 addi r4,r1,96
8003F2E8: 386D9874 subi r3,r13,26508
8003F2EC: 4828BEA1 bl 0x802cb18c
8003F2F0: 38810090 addi r4,r1,144
8003F2F4: 386D9874 subi r3,r13,26508
8003F2F8: 4828C515 bl 0x802cb80c
8003F2FC: 880D9740 lbz r0,-26816(r13)
8003F300: 7C000775 extsb. r0,r0
8003F304: 40820014 bne- 0x8003f318
8003F308: 7DE37B78 mr r3,r15
8003F30C: 4BFF542D bl 0x80034738
8003F310: 38000001 li r0,1
8003F314: 980D9740 stb r0,-26816(r13)
8003F318: 3C60803C lis r3,-32708
8003F31C: 38800003 li r4,3
8003F320: 38639F00 subi r3,r3,24832
8003F324: 806300E4 lwz r3,228(r3)
8003F328: 48290D95 bl 0x802d00bc
8003F32C: 9061000C stw r3,12(r1)
8003F330: 3861000C addi r3,r1,12
8003F334: 38810060 addi r4,r1,96
8003F338: 4828BE55 bl 0x802cb18c
8003F33C: FC20F090 fmr f1,f30
8003F340: 3861000C addi r3,r1,12
8003F344: FC40F890 fmr f2,f31
8003F348: FC60E890 fmr f3,f29
8003F34C: 4828BDB5 bl 0x802cb100
8003F350: 386D9874 subi r3,r13,26508
8003F354: 4828C745 bl 0x802cba98
8003F358: 386D9874 subi r3,r13,26508
8003F35C: 4828C7C1 bl 0x802cbb1c
8003F360: 386D9874 subi r3,r13,26508
8003F364: 4828C881 bl 0x802cbbe4
8003F368: 386D9874 subi r3,r13,26508
8003F36C: 4828C89D bl 0x802cbc08
8003F370: 806D9870 lwz r3,-26512(r13)
8003F374: 48290DA5 bl 0x802d0118
8003F378: 2C030000 cmpwi r3,0
8003F37C: 90610008 stw r3,8(r1)
8003F380: 40820020 bne- 0x8003f3a0
8003F384: 3C608038 lis r3,-32712
8003F388: 3CA08038 lis r5,-32712
8003F38C: 38639168 subi r3,r3,28312
8003F390: 3880008C li r4,140
8003F394: 38A59140 subi r5,r5,28352
8003F398: 4CC63182 crclr 6,6
8003F39C: 4824E279 bl 0x8028d614
8003F3A0: 81C10008 lwz r14,8(r1)
8003F3A4: 38610008 addi r3,r1,8
8003F3A8: 38810030 addi r4,r1,48
8003F3AC: 4828C461 bl 0x802cb80c
8003F3B0: C08E00B8 lfs f4,184(r14)
8003F3B4: 386100F0 addi r3,r1,240
8003F3B8: C06E00B4 lfs f3,180(r14)
8003F3BC: 38810030 addi r4,r1,48
8003F3C0: C04E00B0 lfs f2,176(r14)
8003F3C4: C02E00AC lfs f1,172(r14)
8003F3C8: 482A56B1 bl 0x802e4a78
8003F3CC: 81E10154 lwz r15,340(r1)
8003F3D0: 3E00803E lis r16,-32706
8003F3D4: 3A107668 addi r16,r16,30312
8003F3D8: 8001014C lwz r0,332(r1)
8003F3DC: 91E10200 stw r15,512(r1)
8003F3E0: 3890008C addi r4,r16,140
8003F3E4: 81E10158 lwz r15,344(r1)
8003F3E8: 3861017C addi r3,r1,380
8003F3EC: 9010005C stw r0,92(r16)
8003F3F0: 80010200 lwz r0,512(r1)
8003F3F4: 91E101E0 stw r15,480(r1)
8003F3F8: 81E1015C lwz r15,348(r1)
8003F3FC: 90100064 stw r0,100(r16)
8003F400: 800101E0 lwz r0,480(r1)
8003F404: 91E101E4 stw r15,484(r1)
8003F408: 81E10168 lwz r15,360(r1)
8003F40C: 90100068 stw r0,104(r16)
8003F410: 800101E4 lwz r0,484(r1)
8003F414: 91E101E8 stw r15,488(r1)
8003F418: 81E1016C lwz r15,364(r1)
8003F41C: 9010006C stw r0,108(r16)
8003F420: 800101E8 lwz r0,488(r1)
8003F424: 91E101EC stw r15,492(r1)
8003F428: 81E10170 lwz r15,368(r1)
8003F42C: 90100078 stw r0,120(r16)
8003F430: 800101EC lwz r0,492(r1)
8003F434: 91E101F0 stw r15,496(r1)
8003F438: 81E10174 lwz r15,372(r1)
8003F43C: 9010007C stw r0,124(r16)
8003F440: 800101F0 lwz r0,496(r1)
8003F444: 91E101F4 stw r15,500(r1)
8003F448: 81E10178 lwz r15,376(r1)
8003F44C: 90100080 stw r0,128(r16)
8003F450: 800101F4 lwz r0,500(r1)
8003F454: 91E101F8 stw r15,504(r1)
8003F458: 81E1017C lwz r15,380(r1)
8003F45C: 90100084 stw r0,132(r16)
8003F460: 800101F8 lwz r0,504(r1) ----> r0 loads here which is the maps floor I think
8003F464: 822100F0 lwz r17,240(r1)
8003F468: 824100F4 lwz r18,244(r1)
8003F46C: 826100F8 lwz r19,248(r1)
8003F470: 828100FC lwz r20,252(r1)
8003F474: 82A10100 lwz r21,256(r1)
8003F478: 82C10104 lwz r22,260(r1)
8003F47C: 82E10108 lwz r23,264(r1)
8003F480: 8301010C lwz r24,268(r1)
8003F484: 83210110 lwz r25,272(r1)
8003F488: 83410114 lwz r26,276(r1)
8003F48C: 83610118 lwz r27,280(r1)
8003F490: 8381011C lwz r28,284(r1)
8003F494: 83A10120 lwz r29,288(r1)
8003F498: 83C10124 lwz r30,292(r1)
8003F49C: 83E10128 lwz r31,296(r1)
8003F4A0: 8181012C lwz r12,300(r1)
8003F4A4: 81610130 lwz r11,304(r1)
8003F4A8: 81410134 lwz r10,308(r1)
8003F4AC: 81210138 lwz r9,312(r1)
8003F4B0: 8101013C lwz r8,316(r1)
8003F4B4: 80E10140 lwz r7,320(r1)
8003F4B8: 80C10144 lwz r6,324(r1)
8003F4BC: 80A10148 lwz r5,328(r1)
8003F4C0: 81C10150 lwz r14,336(r1)
8003F4C4: C0210160 lfs f1,352(r1)
8003F4C8: C0010164 lfs f0,356(r1)
8003F4CC: 90100088 stw r0,136(r16) Breaks here
8003F4D0: 7DE07B78 mr r0,r15
8003F4D4: 9010008C stw r0,140(r16)
8003F4D8: 3800000C li r0,12
8003F4DC: 91E101FC stw r15,508(r1)
8003F4E0: 92300000 stw r17,0(r16)
8003F4E4: 92500004 stw r18,4(r16)
8003F4E8: 92700008 stw r19,8(r16)
8003F4EC: 9290000C stw r20,12(r16)
8003F4F0: 92B00010 stw r21,16(r16)
8003F4F4: 92D00014 stw r22,20(r16)
8003F4F8: 92F00018 stw r23,24(r16)
8003F4FC: 9310001C stw r24,28(r16)
8003F500: 93300020 stw r25,32(r16)
8003F504: 93500024 stw r26,36(r16)
8003F508: 93700028 stw r27,40(r16)
8003F50C: 9390002C stw r28,44(r16)
8003F510: 93B00030 stw r29,48(r16)
8003F514: 93D00034 stw r30,52(r16)
8003F518: 93F00038 stw r31,56(r16)
8003F51C: 9190003C stw r12,60(r16)
8003F520: 91700040 stw r11,64(r16)
8003F524: 91500044 stw r10,68(r16)
8003F528: 91300048 stw r9,72(r16)
8003F52C: 9110004C stw r8,76(r16)
8003F530: 90F00050 stw r7,80(r16)
8003F534: 90D00054 stw r6,84(r16)
8003F538: 90B00058 stw r5,88(r16)
8003F53C: 91D00060 stw r14,96(r16)
8003F540: D0300070 stfs f1,112(r16)
8003F544: D0100074 stfs f0,116(r16)
8003F548: 7C0903A6 mtctr r0
8003F54C: 80A30004 lwz r5,4(r3)
8003F550: 84030008 lwzu r0,8(r3)
8003F554: 90A40004 stw r5,4(r4)
8003F558: 94040008 stwu r0,8(r4)
8003F55C: 4200FFF0 bdnz+ 0x8003f54c
8003F560: 3C60803E lis r3,-32706
8003F564: 38637668 addi r3,r3,30312
8003F568: E3E10278 psq_l f31,632(r1),0,0
8003F56C: CBE10270 lfd f31,624(r1)
8003F570: E3C10268 psq_l f30,616(r1),0,0
8003F574: CBC10260 lfd f30,608(r1)
8003F578: E3A10258 psq_l f29,600(r1),0,0
8003F57C: 39610250 addi r11,r1,592
8003F580: CBA10250 lfd f29,592(r1)
8003F584: 48176829 bl 0x801b5dac
8003F588: 80010284 lwz r0,644(r1)
8003F58C: 7C0803A6 mtlr r0
8003F590: 38210280 addi r1,r1,640
8003F594: 4E800020 blr
[/spoiler]