0013d704 - 0013d9fc

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

0013d704: 27bdff98 addiu r29,r29,0xff98
0013d708: afb20058 sw r18,0x0058(r29)
0013d70c: 27b20010 addiu r18,r29,0x0010
0013d710: afb40060 sw r20,0x0060(r29)
0013d714: 34140001 ori r20,r0,0x0001
0013d718: afbf0064 sw r31,0x0064(r29)
0013d71c: afb3005c sw r19,0x005c(r29)
0013d720: afb10054 sw r17,0x0054(r29)
0013d724: afb00050 sw r16,0x0050(r29)
0013d728: 0c0532f0 jal 0x0014cbc0             Get First Thread Parameter
0013d72c: 3410000f ori r16,r0,0x000f
0013d730: 00021840 sll r3,r2,0x01
0013d734: 00621821 addu r3,r3,r2
0013d738: 00031900 sll r3,r3,0x04
0013d73c: 3c048017 lui r4,0x8017
0013d740: 24849040 addiu r4,r4,0x9040         list of thread addresses/IDs/parameters?
0013d744: 00649821 addu r19,r3,r4             thread parameter * 0x30
0013d748: 3c038017 lui r3,0x8017
0013d74c: 8c634038 lw r3,0x4038(r3)
0013d750: 2644003c addiu r4,r18,0x003c
0013d754: 3c018016 lui r1,0x8016
0013d758: ac225f80 sw r2,0x5f80(r1)
0013d75c: 340200ff ori r2,r0,0x00ff
0013d760: 00031a80 sll r3,r3,0x0a
0013d764: 3c018017 lui r1,0x8017
0013d768: 00230821 addu r1,r1,r3
0013d76c: ac22986c sw r2,-0x6794(r1)
0013d770: ac800000 sw r0,0x0000(r4)
0013d774: 2610ffff addiu r16,r16,0xffff
0013d778: 0601fffd bgez r16,0x0013d770
0013d77c: 2484fffc addiu r4,r4,0xfffc
0013d780: 02608021 addu r16,r19,r0
0013d784: 8e040010 lw r4,0x0010(r16)           0x10 from list?
0013d788: 3c038017 lui r3,0x8017
0013d78c: 2463986c addiu r3,r3,0x986c
0013d790: 00041280 sll r2,r4,0x0a
0013d794: 00438821 addu r17,r2,r3              * thread data length
0013d798: 8e220048 lw r2,0x0048(r17)           isRunning value
0013d79c: 00000000 nop
0013d7a0: 1040002d beq r2,r0,0x0013d858        branch if thread requested isn't running
0013d7a4: 2402ffff addiu r2,r0,0xffff
0013d7a8: 8e24004c lw r4,0x004c(r17)
0013d7ac: 8e020020 lw r2,0x0020(r16)
0013d7b0: 00000000 nop
0013d7b4: 1482001e bne r4,r2,0x0013d830
0013d7b8: 00002821 addu r5,r0,r0
0013d7bc: 34020011 ori r2,r0,0x0011
0013d7c0: 14820008 bne r4,r2,0x0013d7e4
0013d7c4: 3402003a ori r2,r0,0x003a
0013d7c8: 3c038015 lui r3,0x8015
0013d7cc: 9463d328 lhu r3,-0x2cd8(r3)
0013d7d0: 3c028015 lui r2,0x8015
0013d7d4: 8442d08a lh r2,-0x2f76(r2)
0013d7d8: 00000000 nop
0013d7dc: 14620014 bne r3,r2,0x0013d830
0013d7e0: 3402003a ori r2,r0,0x003a
0013d7e4: 14820008 bne r4,r2,0x0013d808
0013d7e8: 34020014 ori r2,r0,0x0014
0013d7ec: 3c038015 lui r3,0x8015
0013d7f0: 9463d32a lhu r3,-0x2cd6(r3)
0013d7f4: 3c028015 lui r2,0x8015
0013d7f8: 8442d09a lh r2,-0x2f66(r2)
0013d7fc: 00000000 nop
0013d800: 1462000a bne r3,r2,0x0013d82c
0013d804: 34020014 ori r2,r0,0x0014
0013d808: 14820026 bne r4,r2,0x0013d8a4
0013d80c: 00000000 nop
0013d810: 3c038015 lui r3,0x8015
0013d814: 9463d328 lhu r3,-0x2cd8(r3)
0013d818: 3c028015 lui r2,0x8015
0013d81c: 8442d08a lh r2,-0x2f76(r2)
0013d820: 00000000 nop
0013d824: 1062001f beq r3,r2,0x0013d8a4
0013d828: 00000000 nop
0013d82c: 00002821 addu r5,r0,r0
0013d830: 8e020010 lw r2,0x0010(r16)
0013d834: 00003021 addu r6,r0,r0
0013d838: 00021080 sll r2,r2,0x02
0013d83c: 00521021 addu r2,r2,r18
0013d840: ac540000 sw r20,0x0000(r2)
0013d844: 8e040010 lw r4,0x0010(r16)
0013d848: 0c05328e jal 0x0014ca38
0013d84c: 34070001 ori r7,r0,0x0001
0013d850: 0804f62a j 0x0013d8a8
0013d854: 26100004 addiu r16,r16,0x0004
0013d858: 8e050000 lw r5,0x0000(r16)             load thread address
0013d85c: 00000000 nop
0013d860: 10a20010 beq r5,r2,0x0013d8a4          branch if != -1
0013d864: 00000000 nop
0013d868: 0c053228 jal 0x0014c8a0                Initialize Thread
                   RAM      |thd addr|routine name       |thd ID
                   00169040: ffffffff nowhere             
                   00169044: ffffffff nowhere             
                   00169048: ffffffff nowhere             
                   0016904c: ffffffff nowhere             

                   00169070: 80134438 Display Height      a
                   00169074: ffffffff nowhere
                   00169078: ffffffff nowhere
                   0016907c: ffffffff nowhere

                   001690a0: 80134438 Display Height      a
                   001690a4: ffffffff nowhere
                   001690a8: ffffffff nowhere
                   001690ac: 80136128 00136128 - 00136184 d

                   001690d0: 80134438 Display Height      a
                   001690d4: 801363dc 001363dc - 00136b0c b
                   001690d8: ffffffff nowhere
                   001690dc: 80136128 00136128 - 00136184 d

                   00169100: 80134438 Display Height      a
                   00169104: ffffffff nowhere
                   00169108: 80136188 00136188 - 001361e4 c
                   0016910c: ffffffff nowhere

                   0016913c: 80136324 00136324 - 001363d8 a
                   00169134: ffffffff nowhere
                   00169138: 801361e8 001361e8 - 00136320 c
                   0016913c: 80136324 00136324 - 001363d8 d

                   00169160: 80136d34 00136d34 - 001370a0 a
                   00169164: 801363dc 001363dc - 00136b0c b
                   00169168: ffffffff illegal
                   0016916c: 80136128 00136128 - 00136184 d
0013d86c: 00000000 nop
0013d870: 00002821 addu r5,r0,r0
0013d874: 00003021 addu r6,r0,r0
0013d878: 8e040010 lw r4,0x0010(r16)
0013d87c: 0c05328e jal 0x0014ca38                Store Thread Function Parameters
0013d880: 00003821 addu r7,r0,r0
0013d884: 8e020020 lw r2,0x0020(r16)
0013d888: 00000000 nop
0013d88c: ae22004c sw r2,0x004c(r17)
0013d890: 8e020010 lw r2,0x0010(r16)
0013d894: 34030002 ori r3,r0,0x0002
0013d898: 00021080 sll r2,r2,0x02
0013d89c: 00521021 addu r2,r2,r18
0013d8a0: ac430000 sw r3,0x0000(r2)
0013d8a4: 26100004 addiu r16,r16,0x0004          thread addresses/IDs/parameters? + 4
0013d8a8: 26620010 addiu r2,r19,0x0010
0013d8ac: 0202102a slt r2,r16,r2                 loop and check all 4 threads
0013d8b0: 1440ffb4 bne r2,r0,0x0013d784          loop back
0013d8b4: 00000000 nop
0013d8b8: 3c028015 lui r2,0x8015
0013d8bc: 9442d08a lhu r2,-0x2f76(r2)
0013d8c0: 3c038015 lui r3,0x8015
0013d8c4: 9463d09a lhu r3,-0x2f66(r3)
0013d8c8: 3c018015 lui r1,0x8015
0013d8cc: a422d328 sh r2,-0x2cd8(r1)
0013d8d0: 3c018015 lui r1,0x8015
0013d8d4: a423d32a sh r3,-0x2cd6(r1)
0013d8d8: 00008021 addu r16,r0,r0
0013d8dc: 02602021 addu r4,r19,r0
0013d8e0: 8c830010 lw r3,0x0010(r4)
0013d8e4: 00000000 nop
0013d8e8: 00031080 sll r2,r3,0x02
0013d8ec: 00521021 addu r2,r2,r18
0013d8f0: 8c420000 lw r2,0x0000(r2)
0013d8f4: 00000000 nop
0013d8f8: 14540007 bne r2,r20,0x0013d918
0013d8fc: 00031280 sll r2,r3,0x0a
0013d900: 3c018017 lui r1,0x8017
0013d904: 00220821 addu r1,r1,r2
0013d908: 8c2298b4 lw r2,-0x674c(r1)
0013d90c: 00000000 nop
0013d910: 14400006 bne r2,r0,0x0013d92c
0013d914: 34020004 ori r2,r0,0x0004
0013d918: 26100001 addiu r16,r16,0x0001
0013d91c: 2a020004 slti r2,r16,0x0004
0013d920: 1440ffef bne r2,r0,0x0013d8e0
0013d924: 24840004 addiu r4,r4,0x0004
0013d928: 34020004 ori r2,r0,0x0004
0013d92c: 12020005 beq r16,r2,0x0013d944
0013d930: 00008021 addu r16,r0,r0
0013d934: 0c053216 jal 0x0014c858
0013d938: 34040001 ori r4,r0,0x0001
0013d93c: 0804f637 j 0x0013d8dc
0013d940: 00008021 addu r16,r0,r0
0013d944: 02608821 addu r17,r19,r0
0013d948: 8e240010 lw r4,0x0010(r17)
0013d94c: 00000000 nop
0013d950: 00041080 sll r2,r4,0x02
0013d954: 00521021 addu r2,r2,r18
0013d958: 8c420000 lw r2,0x0000(r2)
0013d95c: 00000000 nop
0013d960: 14540012 bne r2,r20,0x0013d9ac
0013d964: 26100001 addiu r16,r16,0x0001
0013d968: 8e250000 lw r5,0x0000(r17)
0013d96c: 2402ffff addiu r2,r0,0xffff
0013d970: 10a2000f beq r5,r2,0x0013d9b0
0013d974: 2a020004 slti r2,r16,0x0004
0013d978: 0c053228 jal 0x0014c8a0
0013d97c: 00000000 nop
0013d980: 00002821 addu r5,r0,r0
0013d984: 00003021 addu r6,r0,r0
0013d988: 8e240010 lw r4,0x0010(r17)
0013d98c: 0c05328e jal 0x0014ca38
0013d990: 00003821 addu r7,r0,r0
0013d994: 8e220010 lw r2,0x0010(r17)
0013d998: 8e230020 lw r3,0x0020(r17)
0013d99c: 00021280 sll r2,r2,0x0a
0013d9a0: 3c018017 lui r1,0x8017
0013d9a4: 00220821 addu r1,r1,r2
0013d9a8: ac2398b8 sw r3,-0x6748(r1)
0013d9ac: 2a020004 slti r2,r16,0x0004
0013d9b0: 1440ffe5 bne r2,r0,0x0013d948
0013d9b4: 26310004 addiu r17,r17,0x0004
0013d9b8: 0c0532f0 jal 0x0014cbc0
0013d9bc: 00000000 nop
0013d9c0: 340300ff ori r3,r0,0x00ff
0013d9c4: 1443ff58 bne r2,r3,0x0013d728
0013d9c8: 00000000 nop
0013d9cc: 0c053256 jal 0x0014c958
0013d9d0: 00000000 nop
0013d9d4: 0804f5ca j 0x0013d728
0013d9d8: 00000000 nop
0013d9dc: 8fbf0064 lw r31,0x0064(r29)
0013d9e0: 8fb40060 lw r20,0x0060(r29)
0013d9e4: 8fb3005c lw r19,0x005c(r29)
0013d9e8: 8fb20058 lw r18,0x0058(r29)
0013d9ec: 8fb10054 lw r17,0x0054(r29)
0013d9f0: 8fb00050 lw r16,0x0050(r29)
0013d9f4: 27bd0068 addiu r29,r29,0x0068
0013d9f8: 03e00008 jr r31
0013d9fc: 00000000 nop