Difference between revisions of "Prep for Special Status Flag Enabling"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with "<font face='Courier New'> 00180f40: 27bdffd8 addiu r29,r29,0xffd8 00180f44: afb10014 sw r17,0x0014(r29) 00180f48: 00808821 addu r17,r4,r0 00180f4c: afb00010 sw r16,0x001...")
 
Line 1: Line 1:
<font face='Courier New'>
+
<font face='Courier New'>
   
+
  00180fe4: 27bdffd8 addiu r29,r29,0xffd8
00180f40: 27bdffd8 addiu r29,r29,0xffd8
+
  00180fe8: afb10014 sw r17,0x0014(r29)
  00180f44: afb10014 sw r17,0x0014(r29)
+
  00180fec: 00808821 addu r17,r4,r0 r17 = Unit ID
  00180f48: 00808821 addu r17,r4,r0
+
  00180ff0: 001110c0 sll r2,r17,0x03 ID * 8
  00180f4c: afb00010 sw r16,0x0010(r29)
+
00180ff4: 00511023 subu r2,r2,r17 ID * 7
  00180f50: 00008021 addu r16,r0,r0
+
00180ff8: 00021180 sll r2,r2,0x06 ID * 448
  00180f54: afb3001c sw r19,0x001c(r29)
+
00180ffc: 3c038019 lui r3,0x8019
  00180f58: 34130080 ori r19,r0,0x0080
+
  00181000: 246308cc addiu r3,r3,0x08cc
  00180f5c: afbf0020 sw r31,0x0020(r29)
+
  00181004: afb20018 sw r18,0x0018(r29)
  00180f60: afb20018 sw r18,0x0018(r29)
+
  00181008: 00439021 addu r18,r2,r3 r18 = Unit's Data Pointer
  00180f64: 9232018a lbu r18,0x018a(r17)
+
  0018100c: afbf0020 sw r31,0x0020(r29)
  00180f68: 06010002 bgez r16,0x00180f74
+
  00181010: afb3001c sw r19,0x001c(r29)
  00180f6c: 02001021 addu r2,r16,r0
+
00181014: afb00010 sw r16,0x0010(r29)
  00180f70: 26020007 addiu r2,r16,0x0007
+
  00181018: 92430001 lbu r3,0x0001(r18) Load Unit's ID
  00180f74: 000210c3 sra r2,r2,0x03
+
0018101c: 340200ff ori r2,r0,0x00ff
  00180f78: 32030007 andi r3,r16,0x0007
+
00181020: 14620003 bne r3,r2,0x00181030 Branch if Unit Exists
  00180f7c: 02221021 addu r2,r17,r2
+
00181024: 00008021 addu r16,r0,r0 Counter = 0
  00180f80: 90420058 lbu r2,0x0058(r2)
+
00181028: 08060420 j 0x00181080
  00180f84: 00731807 srav r3,r19,r3
+
0018102c: 2402ffff addiu r2,r0,0xffff r2 = -1 (fail)
  00180f88: 00431024 and r2,r2,r3
+
  00181030: 34130080 ori r19,r0,0x0080 Current Status = 0x80
  00180f8c: 10400004 beq r2,r0,0x00180fa0
+
00181034: 06010002 bgez r16,0x00181040 Branch if Counter >= 0
  00180f90: 26040001 addiu r4,r16,0x0001
+
  00181038: 02001021 addu r2,r16,r0 r2 = Counter
  00180f94: 00002821 addu r5,r0,r0
+
  0018103c: 26020007 addiu r2,r16,0x0007
  00180f98: 0c01a3a0 jal 0x00068e80 special status flag enabling
+
  00181040: 000210c3 sra r2,r2,0x03 Counter / 8
  00180f9c: 02403021 addu r6,r18,r0
+
  00181044: 32030007 andi r3,r16,0x0007
  00180fa0: 26100001 addiu r16,r16,0x0001
+
  00181048: 02421021 addu r2,r18,r2
  00180fa4: 2a020028 slti r2,r16,0x0028
+
  0018104c: 90420058 lbu r2,0x0058(r2) Load Current Statuses
  00180fa8: 1440ffef bne r2,r0,0x00180f68
+
  00181050: 00731807 srav r3,r19,r3
  00180fac: 2624004e addiu r4,r17,0x004e
+
  00181054: 00431024 and r2,r2,r3
  00180fb0: 0c017991 jal 0x0005e644 data nullifying
+
  00181058: 10400004 beq r2,r0,0x0018106c Branch if Status isn't present
00180fb4: 3405001f ori r5,r0,0x001f
+
  0018105c: 26040001 addiu r4,r16,0x0001 r4 = Counter + 1
00180fb8: 262401bb addiu r4,r17,0x01bb
+
  00181060: 34050001 ori r5,r0,0x0001 r5 = 1 (Status Present)
00180fbc: 0c017991 jal 0x0005e644 data nullifying
+
  00181064: 0c01a3a0 jal 0x00068e80 [[Special Status Flag Enabling?]]
00180fc0: 34050005 ori r5,r0,0x0005
+
  00181068: 02203021 addu r6,r17,r0 r6 = Unit ID
  00180fc4: 8fbf0020 lw r31,0x0020(r29)
+
  0018106c: 26100001 addiu r16,r16,0x0001 Counter ++
  00180fc8: 8fb3001c lw r19,0x001c(r29)
+
  00181070: 2a020028 slti r2,r16,0x0028
  00180fcc: 8fb20018 lw r18,0x0018(r29)
+
  00181074: 1440ffef bne r2,r0,0x00181034 Branch if all statuses haven't been checked
  00180fd0: 8fb10014 lw r17,0x0014(r29)
+
  00181078: 00000000 nop
  00180fd4: 8fb00010 lw r16,0x0010(r29)
+
  0018107c: 00001021 addu r2,r0,r0 r2 = 0 (success)
  00180fd8: 27bd0028 addiu r29,r29,0x0028
+
  00181080: 8fbf0020 lw r31,0x0020(r29)
  00180fdc: 03e00008 jr r31
+
  00181084: 8fb3001c lw r19,0x001c(r29)
  00180fe0: 00000000 nop
+
  00181088: 8fb20018 lw r18,0x0018(r29)
 +
  0018108c: 8fb10014 lw r17,0x0014(r29)
 +
  00181090: 8fb00010 lw r16,0x0010(r29)
 +
  00181094: 27bd0028 addiu r29,r29,0x0028
 +
  00181098: 03e00008 jr r31
 +
  0018109c: 00000000 nop
 
</font>
 
</font>

Revision as of 22:17, 11 June 2016


00180fe4: 27bdffd8 addiu r29,r29,0xffd8
00180fe8: afb10014 sw r17,0x0014(r29)
00180fec: 00808821 addu r17,r4,r0		r17 = Unit ID
00180ff0: 001110c0 sll r2,r17,0x03		ID * 8
00180ff4: 00511023 subu r2,r2,r17		ID * 7
00180ff8: 00021180 sll r2,r2,0x06		ID * 448
00180ffc: 3c038019 lui r3,0x8019
00181000: 246308cc addiu r3,r3,0x08cc
00181004: afb20018 sw r18,0x0018(r29)
00181008: 00439021 addu r18,r2,r3		r18 = Unit's Data Pointer
0018100c: afbf0020 sw r31,0x0020(r29)
00181010: afb3001c sw r19,0x001c(r29)
00181014: afb00010 sw r16,0x0010(r29)
00181018: 92430001 lbu r3,0x0001(r18)		Load Unit's ID
0018101c: 340200ff ori r2,r0,0x00ff
00181020: 14620003 bne r3,r2,0x00181030		Branch if Unit Exists
00181024: 00008021 addu r16,r0,r0		Counter = 0
00181028: 08060420 j 0x00181080
0018102c: 2402ffff addiu r2,r0,0xffff		r2 = -1 (fail)
00181030: 34130080 ori r19,r0,0x0080		Current Status = 0x80
00181034: 06010002 bgez r16,0x00181040		Branch if Counter >= 0
00181038: 02001021 addu r2,r16,r0		r2 = Counter
0018103c: 26020007 addiu r2,r16,0x0007
00181040: 000210c3 sra r2,r2,0x03		Counter / 8
00181044: 32030007 andi r3,r16,0x0007
00181048: 02421021 addu r2,r18,r2
0018104c: 90420058 lbu r2,0x0058(r2)		Load Current Statuses
00181050: 00731807 srav r3,r19,r3
00181054: 00431024 and r2,r2,r3
00181058: 10400004 beq r2,r0,0x0018106c		Branch if Status isn't present
0018105c: 26040001 addiu r4,r16,0x0001		r4 = Counter + 1
00181060: 34050001 ori r5,r0,0x0001		r5 = 1 (Status Present)
00181064: 0c01a3a0 jal 0x00068e80		Special Status Flag Enabling?
00181068: 02203021 addu r6,r17,r0		r6 = Unit ID
0018106c: 26100001 addiu r16,r16,0x0001		Counter ++
00181070: 2a020028 slti r2,r16,0x0028
00181074: 1440ffef bne r2,r0,0x00181034		Branch if all statuses haven't been checked
00181078: 00000000 nop
0018107c: 00001021 addu r2,r0,r0		r2 = 0 (success)
00181080: 8fbf0020 lw r31,0x0020(r29)
00181084: 8fb3001c lw r19,0x001c(r29)
00181088: 8fb20018 lw r18,0x0018(r29)
0018108c: 8fb10014 lw r17,0x0014(r29)
00181090: 8fb00010 lw r16,0x0010(r29)
00181094: 27bd0028 addiu r29,r29,0x0028
00181098: 03e00008 jr r31
0018109c: 00000000 nop