Difference between revisions of "001212b8 - 00121564"
Jump to navigation
Jump to search
(Created page with "<font face='Courier New'> 001212b8: 3c02801d lui r2,0x801d 001212bc: 84428634 lh r2,-0x79cc(r2) 001212c0: 27bdfe08 addiu r29,r29,0xfe08 001212c4: afb201e8 sw r18,0x01e8(...") |
m |
||
Line 1: | Line 1: | ||
<font face='Courier New'> | <font face='Courier New'> | ||
+ | |||
+ | I can't really be bothered to finish documenting this, I know what it does. copies formation unit data to party data. | ||
001212b8: 3c02801d lui r2,0x801d | 001212b8: 3c02801d lui r2,0x801d | ||
Line 56: | Line 58: | ||
0012138c: 00000000 nop | 0012138c: 00000000 nop | ||
00121390: 00021202 srl r2,r2,0x08 | 00121390: 00021202 srl r2,r2,0x08 | ||
− | 00121394: a202000b sb r2,0x000b(r16) | + | 00121394: a202000b sb r2,0x000b(r16) |
00121398: 8e220000 lw r2,0x0000(r17) | 00121398: 8e220000 lw r2,0x0000(r17) | ||
0012139c: 00000000 nop | 0012139c: 00000000 nop | ||
− | 001213a0: 90420066 lbu r2,0x0066(r2) | + | 001213a0: 90420066 lbu r2,0x0066(r2) #load half of movement |
001213a4: 00000000 nop | 001213a4: 00000000 nop | ||
− | 001213a8: a202000c sb r2,0x000c(r16) | + | 001213a8: a202000c sb r2,0x000c(r16) #save that half of movement |
− | 001213ac: 8e220000 lw r2,0x0000(r17) | + | 001213ac: 8e220000 lw r2,0x0000(r17) #formation pointer |
001213b0: 00000000 nop | 001213b0: 00000000 nop | ||
− | 001213b4: 94420066 lhu r2,0x0066(r2) | + | 001213b4: 94420066 lhu r2,0x0066(r2) #load the other half of movement |
001213b8: 00000000 nop | 001213b8: 00000000 nop | ||
001213bc: 00021202 srl r2,r2,0x08 | 001213bc: 00021202 srl r2,r2,0x08 | ||
− | 001213c0: a202000d sb r2,0x000d(r16) | + | 001213c0: a202000d sb r2,0x000d(r16) #save the other half of movement |
− | 001213c4: 8e230000 lw r3,0x0000(r17) | + | 001213c4: 8e230000 lw r3,0x0000(r17) #load formation pointer |
001213c8: 00000000 nop | 001213c8: 00000000 nop | ||
− | 001213cc: 8462003e lh r2,0x003e(r3) | + | 001213cc: 8462003e lh r2,0x003e(r3) # |
001213d0: 00000000 nop | 001213d0: 00000000 nop | ||
− | 001213d4: 1440004d bne r2,r0,0x0012150c | + | 001213d4: 1440004d bne r2,r0,0x0012150c #? |
− | 001213d8: 27a40010 addiu r4,r29,0x0010 | + | 001213d8: 27a40010 addiu r4,r29,0x0010 #r4 = stack pointer + 0x10 (?) |
− | 001213dc: 94640054 lhu r4,0x0054(r3) | + | 001213dc: 94640054 lhu r4,0x0054(r3) #load RH weapon |
− | 001213e0: a2140011 sb r20,0x0011(r16) | + | 001213e0: a2140011 sb r20,0x0011(r16) #store RH weapon |
− | 001213e4: 1080000d beq r4,r0,0x0012141c | + | 001213e4: 1080000d beq r4,r0,0x0012141c #branch if RH weapon is YA FISTS |
− | 001213e8: a2140012 sb r20,0x0012(r16) | + | 001213e8: a2140012 sb r20,0x0012(r16) #store RH shield |
001213ec: 00041040 sll r2,r4,0x01 | 001213ec: 00041040 sll r2,r4,0x01 | ||
001213f0: 00441021 addu r2,r2,r4 | 001213f0: 00441021 addu r2,r2,r4 | ||
− | 001213f4: 00021080 sll r2,r2,0x02 | + | 001213f4: 00021080 sll r2,r2,0x02 #item type * 0x12 |
001213f8: 3c018006 lui r1,0x8006 | 001213f8: 3c018006 lui r1,0x8006 | ||
001213fc: 00220821 addu r1,r1,r2 | 001213fc: 00220821 addu r1,r1,r2 | ||
− | 00121400: 90232ebd lbu r3,0x2ebd(r1) | + | 00121400: 90232ebd lbu r3,0x2ebd(r1) #item type |
00121404: 34020013 ori r2,r0,0x0013 | 00121404: 34020013 ori r2,r0,0x0013 | ||
− | 00121408: 14620003 bne r3,r2,0x00121418 | + | 00121408: 14620003 bne r3,r2,0x00121418 #branch if equipped weapon type is not shield |
0012140c: 00000000 nop | 0012140c: 00000000 nop | ||
00121410: 08048507 j 0x0012141c | 00121410: 08048507 j 0x0012141c | ||
− | 00121414: a2040012 sb r4,0x0012(r16) | + | 00121414: a2040012 sb r4,0x0012(r16) #store right hand shield (if weapon type is shield) |
− | 00121418: a2040011 sb r4,0x0011(r16) | + | 00121418: a2040011 sb r4,0x0011(r16) #store right hand weapon (if weapon type is weapon) |
− | 0012141c: 8e220000 lw r2,0x0000(r17) | + | 0012141c: 8e220000 lw r2,0x0000(r17) #load unit formation pointer |
00121420: 00000000 nop | 00121420: 00000000 nop | ||
− | 00121424: 94440056 lhu r4,0x0056(r2) | + | 00121424: 94440056 lhu r4,0x0056(r2) #load weapon to be equipped (?) |
− | 00121428: a2140013 sb r20,0x0013(r16) | + | 00121428: a2140013 sb r20,0x0013(r16) #store left hand weapon |
− | 0012142c: 1080000d beq r4,r0,0x00121464 | + | 0012142c: 1080000d beq r4,r0,0x00121464 #branch if weapon to be equipped is YA BARE HANDS |
− | 00121430: a2140014 sb r20,0x0014(r16) | + | 00121430: a2140014 sb r20,0x0014(r16) #store left hand shield |
00121434: 00041040 sll r2,r4,0x01 | 00121434: 00041040 sll r2,r4,0x01 | ||
00121438: 00441021 addu r2,r2,r4 | 00121438: 00441021 addu r2,r2,r4 | ||
− | 0012143c: 00021080 sll r2,r2,0x02 | + | 0012143c: 00021080 sll r2,r2,0x02 #r2 = weapon * 12 |
00121440: 3c018006 lui r1,0x8006 | 00121440: 3c018006 lui r1,0x8006 | ||
00121444: 00220821 addu r1,r1,r2 | 00121444: 00220821 addu r1,r1,r2 | ||
− | 00121448: 90232ebd lbu r3,0x2ebd(r1) | + | 00121448: 90232ebd lbu r3,0x2ebd(r1) #load weapon's type |
0012144c: 34020013 ori r2,r0,0x0013 | 0012144c: 34020013 ori r2,r0,0x0013 | ||
− | 00121450: 14620003 bne r3,r2,0x00121460 | + | 00121450: 14620003 bne r3,r2,0x00121460 #branch if weapon type is not shield |
00121454: 00000000 nop | 00121454: 00000000 nop | ||
00121458: 08048519 j 0x00121464 | 00121458: 08048519 j 0x00121464 | ||
− | 0012145c: a2040014 sb r4,0x0014(r16) | + | 0012145c: a2040014 sb r4,0x0014(r16) #save shield to equipped LH shield (if shield) |
− | 00121460: a2040013 sb r4,0x0013(r16) | + | 00121460: a2040013 sb r4,0x0013(r16) #Save weapon to LH weapon (if weapon) |
− | 00121464: 8e240000 lw r4,0x0000(r17) | + | 00121464: 8e240000 lw r4,0x0000(r17) #load unit formation pointer |
00121468: 00000000 nop | 00121468: 00000000 nop | ||
− | 0012146c: 94820058 lhu r2,0x0058(r4) | + | 0012146c: 94820058 lhu r2,0x0058(r4) #load equipped helmet |
00121470: 00000000 nop | 00121470: 00000000 nop | ||
− | 00121474: 10400002 beq r2,r0,0x00121480 | + | 00121474: 10400002 beq r2,r0,0x00121480 #branch if helmet is null |
− | 00121478: 340300ff ori r3,r0,0x00ff | + | 00121478: 340300ff ori r3,r0,0x00ff #helmet = 0xff (none) |
− | 0012147c: 90830058 lbu r3,0x0058(r4) | + | 0012147c: 90830058 lbu r3,0x0058(r4) #load formation helmet |
00121480: 00000000 nop | 00121480: 00000000 nop | ||
− | 00121484: a203000e sb r3,0x000e(r16) | + | 00121484: a203000e sb r3,0x000e(r16) #save formation helmet to party helmet |
00121488: 8e240000 lw r4,0x0000(r17) | 00121488: 8e240000 lw r4,0x0000(r17) | ||
0012148c: 00000000 nop | 0012148c: 00000000 nop | ||
− | 00121490: 9482005a lhu r2,0x005a(r4) | + | 00121490: 9482005a lhu r2,0x005a(r4) #load formation body |
00121494: 00000000 nop | 00121494: 00000000 nop | ||
− | 00121498: 10400002 beq r2,r0,0x001214a4 | + | 00121498: 10400002 beq r2,r0,0x001214a4 #branch if no formation body |
− | 0012149c: 340300ff ori r3,r0,0x00ff | + | 0012149c: 340300ff ori r3,r0,0x00ff #body = 0xff(none) |
− | 001214a0: 9083005a lbu r3,0x005a(r4) | + | 001214a0: 9083005a lbu r3,0x005a(r4) #load formation body |
001214a4: 00000000 nop | 001214a4: 00000000 nop | ||
− | 001214a8: a203000f sb r3,0x000f(r16) | + | 001214a8: a203000f sb r3,0x000f(r16) #save formation body to party body |
001214ac: 8e240000 lw r4,0x0000(r17) | 001214ac: 8e240000 lw r4,0x0000(r17) | ||
001214b0: 00000000 nop | 001214b0: 00000000 nop | ||
− | 001214b4: 9482005c lhu r2,0x005c(r4) | + | 001214b4: 9482005c lhu r2,0x005c(r4) #Load formation accessory |
001214b8: 00000000 nop | 001214b8: 00000000 nop | ||
− | 001214bc: 10400002 beq r2,r0,0x001214c8 | + | 001214bc: 10400002 beq r2,r0,0x001214c8 #branch if none |
− | 001214c0: 340300ff ori r3,r0,0x00ff | + | 001214c0: 340300ff ori r3,r0,0x00ff #accessory = none |
− | 001214c4: 9083005c lbu r3,0x005c(r4) | + | 001214c4: 9083005c lbu r3,0x005c(r4) #load formation accessory |
− | 001214c8: 2605002b addiu r5,r16,0x002b | + | 001214c8: 2605002b addiu r5,r16,0x002b #r5 = pointer to base action abilities 1-8 |
− | 001214cc: a2030010 sb r3,0x0010(r16) | + | 001214cc: a2030010 sb r3,0x0010(r16) #save formation accessory to party accessory |
− | 001214d0: 8e240000 lw r4,0x0000(r17) | + | 001214d0: 8e240000 lw r4,0x0000(r17) #unit's formation pointer |
001214d4: 34060039 ori r6,r0,0x0039 | 001214d4: 34060039 ori r6,r0,0x0039 | ||
− | 001214d8: 0c0088b7 jal 0x000222dc | + | 001214d8: 0c0088b7 jal 0x000222dc #call kernel 0xa0 with 0x27 (move r6 bytes of data from r4 to r5) |
− | 001214dc: 2484007a addiu r4,r4,0x007a | + | 001214dc: 2484007a addiu r4,r4,0x007a #pointer to formation base action abilities 1-8 |
− | 001214e0: 2605006e addiu r5,r16,0x006e | + | 001214e0: 2605006e addiu r5,r16,0x006e #r5 = pointer to base job JP |
− | 001214e4: 8e240000 lw r4,0x0000(r17) | + | 001214e4: 8e240000 lw r4,0x0000(r17) #unit's formation pointer |
001214e8: 34060028 ori r6,r0,0x0028 | 001214e8: 34060028 ori r6,r0,0x0028 | ||
− | 001214ec: 0c0088b7 jal 0x000222dc | + | 001214ec: 0c0088b7 jal 0x000222dc #call kernel 0xa0 with 0x27 (move r6 bytes of data from r4 to r5) |
− | 001214f0: 248400be addiu r4,r4,0x00be | + | 001214f0: 248400be addiu r4,r4,0x00be #pointer to formation base job JP |
− | 001214f4: 26050096 addiu r5,r16,0x0096 | + | 001214f4: 26050096 addiu r5,r16,0x0096 #base job total JP |
001214f8: 8e240000 lw r4,0x0000(r17) | 001214f8: 8e240000 lw r4,0x0000(r17) | ||
001214fc: 34060028 ori r6,r0,0x0028 | 001214fc: 34060028 ori r6,r0,0x0028 | ||
− | 00121500: 0c0088b7 jal 0x000222dc | + | 00121500: 0c0088b7 jal 0x000222dc #move 0x28 bytes from r4 to r5 |
− | 00121504: 248400e6 addiu r4,r4,0x00e6 | + | 00121504: 248400e6 addiu r4,r4,0x00e6 #formation base job Total JP |
00121508: 27a40010 addiu r4,r29,0x0010 | 00121508: 27a40010 addiu r4,r29,0x0010 | ||
0012150c: 02602821 addu r5,r19,r0 | 0012150c: 02602821 addu r5,r19,r0 |
Latest revision as of 10:56, 18 January 2022
I can't really be bothered to finish documenting this, I know what it does. copies formation unit data to party data. 001212b8: 3c02801d lui r2,0x801d 001212bc: 84428634 lh r2,-0x79cc(r2) 001212c0: 27bdfe08 addiu r29,r29,0xfe08 001212c4: afb201e8 sw r18,0x01e8(r29) 001212c8: 00009021 addu r18,r0,r0 001212cc: afbf01f4 sw r31,0x01f4(r29) 001212d0: afb401f0 sw r20,0x01f0(r29) 001212d4: afb301ec sw r19,0x01ec(r29) 001212d8: afb101e4 sw r17,0x01e4(r29) 001212dc: 18400099 blez r2,0x00121544 001212e0: afb001e0 sw r16,0x01e0(r29) 001212e4: 341400ff ori r20,r0,0x00ff 001212e8: 3c11801d lui r17,0x801d 001212ec: 2631d5ec addiu r17,r17,0xd5ec 001212f0: 8e220000 lw r2,0x0000(r17) 001212f4: 00000000 nop 001212f8: 8444002c lh r4,0x002c(r2) 001212fc: 0c0166bc jal 0x00059af0 00121300: 00809821 addu r19,r4,r0 00121304: 8e230000 lw r3,0x0000(r17) 00121308: 00000000 nop 0012130c: 90630024 lbu r3,0x0024(r3) 00121310: 00408021 addu r16,r2,r0 00121314: a2030002 sb r3,0x0002(r16) 00121318: 8e220000 lw r2,0x0000(r17) 0012131c: 00000000 nop 00121320: 90420070 lbu r2,0x0070(r2) 00121324: 00000000 nop 00121328: a2020004 sb r2,0x0004(r16) 0012132c: 8e220000 lw r2,0x0000(r17) 00121330: 00000000 nop 00121334: 90420060 lbu r2,0x0060(r2) 00121338: 00000000 nop 0012133c: a2020007 sb r2,0x0007(r16) 00121340: 8e220000 lw r2,0x0000(r17) 00121344: 00000000 nop 00121348: 90420062 lbu r2,0x0062(r2) 0012134c: 00000000 nop 00121350: a2020008 sb r2,0x0008(r16) 00121354: 8e220000 lw r2,0x0000(r17) 00121358: 00000000 nop 0012135c: 94420062 lhu r2,0x0062(r2) 00121360: 00000000 nop 00121364: 00021202 srl r2,r2,0x08 00121368: a2020009 sb r2,0x0009(r16) 0012136c: 8e220000 lw r2,0x0000(r17) 00121370: 00000000 nop 00121374: 90420064 lbu r2,0x0064(r2) 00121378: 00000000 nop 0012137c: a202000a sb r2,0x000a(r16) 00121380: 8e220000 lw r2,0x0000(r17) 00121384: 00000000 nop 00121388: 94420064 lhu r2,0x0064(r2) 0012138c: 00000000 nop 00121390: 00021202 srl r2,r2,0x08 00121394: a202000b sb r2,0x000b(r16) 00121398: 8e220000 lw r2,0x0000(r17) 0012139c: 00000000 nop 001213a0: 90420066 lbu r2,0x0066(r2) #load half of movement 001213a4: 00000000 nop 001213a8: a202000c sb r2,0x000c(r16) #save that half of movement 001213ac: 8e220000 lw r2,0x0000(r17) #formation pointer 001213b0: 00000000 nop 001213b4: 94420066 lhu r2,0x0066(r2) #load the other half of movement 001213b8: 00000000 nop 001213bc: 00021202 srl r2,r2,0x08 001213c0: a202000d sb r2,0x000d(r16) #save the other half of movement 001213c4: 8e230000 lw r3,0x0000(r17) #load formation pointer 001213c8: 00000000 nop 001213cc: 8462003e lh r2,0x003e(r3) # 001213d0: 00000000 nop 001213d4: 1440004d bne r2,r0,0x0012150c #? 001213d8: 27a40010 addiu r4,r29,0x0010 #r4 = stack pointer + 0x10 (?) 001213dc: 94640054 lhu r4,0x0054(r3) #load RH weapon 001213e0: a2140011 sb r20,0x0011(r16) #store RH weapon 001213e4: 1080000d beq r4,r0,0x0012141c #branch if RH weapon is YA FISTS 001213e8: a2140012 sb r20,0x0012(r16) #store RH shield 001213ec: 00041040 sll r2,r4,0x01 001213f0: 00441021 addu r2,r2,r4 001213f4: 00021080 sll r2,r2,0x02 #item type * 0x12 001213f8: 3c018006 lui r1,0x8006 001213fc: 00220821 addu r1,r1,r2 00121400: 90232ebd lbu r3,0x2ebd(r1) #item type 00121404: 34020013 ori r2,r0,0x0013 00121408: 14620003 bne r3,r2,0x00121418 #branch if equipped weapon type is not shield 0012140c: 00000000 nop 00121410: 08048507 j 0x0012141c 00121414: a2040012 sb r4,0x0012(r16) #store right hand shield (if weapon type is shield) 00121418: a2040011 sb r4,0x0011(r16) #store right hand weapon (if weapon type is weapon) 0012141c: 8e220000 lw r2,0x0000(r17) #load unit formation pointer 00121420: 00000000 nop 00121424: 94440056 lhu r4,0x0056(r2) #load weapon to be equipped (?) 00121428: a2140013 sb r20,0x0013(r16) #store left hand weapon 0012142c: 1080000d beq r4,r0,0x00121464 #branch if weapon to be equipped is YA BARE HANDS 00121430: a2140014 sb r20,0x0014(r16) #store left hand shield 00121434: 00041040 sll r2,r4,0x01 00121438: 00441021 addu r2,r2,r4 0012143c: 00021080 sll r2,r2,0x02 #r2 = weapon * 12 00121440: 3c018006 lui r1,0x8006 00121444: 00220821 addu r1,r1,r2 00121448: 90232ebd lbu r3,0x2ebd(r1) #load weapon's type 0012144c: 34020013 ori r2,r0,0x0013 00121450: 14620003 bne r3,r2,0x00121460 #branch if weapon type is not shield 00121454: 00000000 nop 00121458: 08048519 j 0x00121464 0012145c: a2040014 sb r4,0x0014(r16) #save shield to equipped LH shield (if shield) 00121460: a2040013 sb r4,0x0013(r16) #Save weapon to LH weapon (if weapon) 00121464: 8e240000 lw r4,0x0000(r17) #load unit formation pointer 00121468: 00000000 nop 0012146c: 94820058 lhu r2,0x0058(r4) #load equipped helmet 00121470: 00000000 nop 00121474: 10400002 beq r2,r0,0x00121480 #branch if helmet is null 00121478: 340300ff ori r3,r0,0x00ff #helmet = 0xff (none) 0012147c: 90830058 lbu r3,0x0058(r4) #load formation helmet 00121480: 00000000 nop 00121484: a203000e sb r3,0x000e(r16) #save formation helmet to party helmet 00121488: 8e240000 lw r4,0x0000(r17) 0012148c: 00000000 nop 00121490: 9482005a lhu r2,0x005a(r4) #load formation body 00121494: 00000000 nop 00121498: 10400002 beq r2,r0,0x001214a4 #branch if no formation body 0012149c: 340300ff ori r3,r0,0x00ff #body = 0xff(none) 001214a0: 9083005a lbu r3,0x005a(r4) #load formation body 001214a4: 00000000 nop 001214a8: a203000f sb r3,0x000f(r16) #save formation body to party body 001214ac: 8e240000 lw r4,0x0000(r17) 001214b0: 00000000 nop 001214b4: 9482005c lhu r2,0x005c(r4) #Load formation accessory 001214b8: 00000000 nop 001214bc: 10400002 beq r2,r0,0x001214c8 #branch if none 001214c0: 340300ff ori r3,r0,0x00ff #accessory = none 001214c4: 9083005c lbu r3,0x005c(r4) #load formation accessory 001214c8: 2605002b addiu r5,r16,0x002b #r5 = pointer to base action abilities 1-8 001214cc: a2030010 sb r3,0x0010(r16) #save formation accessory to party accessory 001214d0: 8e240000 lw r4,0x0000(r17) #unit's formation pointer 001214d4: 34060039 ori r6,r0,0x0039 001214d8: 0c0088b7 jal 0x000222dc #call kernel 0xa0 with 0x27 (move r6 bytes of data from r4 to r5) 001214dc: 2484007a addiu r4,r4,0x007a #pointer to formation base action abilities 1-8 001214e0: 2605006e addiu r5,r16,0x006e #r5 = pointer to base job JP 001214e4: 8e240000 lw r4,0x0000(r17) #unit's formation pointer 001214e8: 34060028 ori r6,r0,0x0028 001214ec: 0c0088b7 jal 0x000222dc #call kernel 0xa0 with 0x27 (move r6 bytes of data from r4 to r5) 001214f0: 248400be addiu r4,r4,0x00be #pointer to formation base job JP 001214f4: 26050096 addiu r5,r16,0x0096 #base job total JP 001214f8: 8e240000 lw r4,0x0000(r17) 001214fc: 34060028 ori r6,r0,0x0028 00121500: 0c0088b7 jal 0x000222dc #move 0x28 bytes from r4 to r5 00121504: 248400e6 addiu r4,r4,0x00e6 #formation base job Total JP 00121508: 27a40010 addiu r4,r29,0x0010 0012150c: 02602821 addu r5,r19,r0 00121510: 0c016a35 jal 0x0005a8d4 00121514: 34060001 ori r6,r0,0x0001 00121518: 27a40010 addiu r4,r29,0x0010 0012151c: 02003021 addu r6,r16,r0 00121520: 8e250000 lw r5,0x0000(r17) 00121524: 0c0482ec jal 0x00120bb0 00121528: 26310004 addiu r17,r17,0x0004 0012152c: 3c02801d lui r2,0x801d 00121530: 84428634 lh r2,-0x79cc(r2) 00121534: 26520001 addiu r18,r18,0x0001 00121538: 0242102a slt r2,r18,r2 0012153c: 1440ff6c bne r2,r0,0x001212f0 00121540: 00000000 nop 00121544: 8fbf01f4 lw r31,0x01f4(r29) 00121548: 8fb401f0 lw r20,0x01f0(r29) 0012154c: 8fb301ec lw r19,0x01ec(r29) 00121550: 8fb201e8 lw r18,0x01e8(r29) 00121554: 8fb101e4 lw r17,0x01e4(r29) 00121558: 8fb001e0 lw r16,0x01e0(r29) 0012155c: 27bd01f8 addiu r29,r29,0x01f8 00121560: 03e00008 jr r31 00121564: 00000000 nop