Difference between revisions of "Open EVTCHR"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with "<font face='Courier New'> 0013c7c4: 27bdffd8 addiu r29,r29,0xffd8 0013c7c8: afbf0020 sw r31,0x0020(r29) 0013c7cc: afb3001c sw r19,0x001c(r29) 0013c7d0: afb20018 sw r18,0...")
 
m
Line 1: Line 1:
<font face='Courier New'>
+
 
 
 
  0013c7c4: 27bdffd8 addiu r29,r29,0xffd8
 
  0013c7c4: 27bdffd8 addiu r29,r29,0xffd8
 
  0013c7c8: afbf0020 sw r31,0x0020(r29)
 
  0013c7c8: afbf0020 sw r31,0x0020(r29)
Line 6: Line 5:
 
  0013c7d0: afb20018 sw r18,0x0018(r29)
 
  0013c7d0: afb20018 sw r18,0x0018(r29)
 
  0013c7d4: afb10014 sw r17,0x0014(r29)
 
  0013c7d4: afb10014 sw r17,0x0014(r29)
  0013c7d8: 0c0532f0 jal 0x0014cbc0
+
  0013c7d8: 0c0532f0 jal 0x0014cbc0                   [[Get First Thread Parameter]]
 
  0013c7dc: afb00010 sw r16,0x0010(r29)
 
  0013c7dc: afb00010 sw r16,0x0010(r29)
  0013c7e0: 0c0532fd jal 0x0014cbf4
+
  0013c7e0: 0c0532fd jal 0x0014cbf4                   [[Get Second Thread Parameter]]
  0013c7e4: 00409821 addu r19,r2,r0
+
  0013c7e4: 00409821 addu r19,r2,r0                   # EVTCHR Block
 
  0013c7e8: 34040034 ori r4,r0,0x0034
 
  0013c7e8: 34040034 ori r4,r0,0x0034
  0013c7ec: 0c052752 jal 0x00149d48
+
  0013c7ec: 0c052752 jal 0x00149d48                   [[Set Thread Task ID]] task 0x34
  0013c7f0: 00408021 addu r16,r2,r0
+
  0013c7f0: 00408021 addu r16,r2,r0                   # EVTCHR Slot
  0013c7f4: 0c011105 jal 0x00044414
+
  0013c7f4: 0c011105 jal 0x00044414                   [[SCUS MRTA Malloc]] 0x7800 bytes
 
  0013c7f8: 34047800 ori r4,r0,0x7800
 
  0013c7f8: 34047800 ori r4,r0,0x7800
  0013c7fc: 00408821 addu r17,r2,r0
+
  0013c7fc: 00408821 addu r17,r2,r0                   # mem address of allocated space
 
  0013c800: 3c128004 lui r18,0x8004
 
  0013c800: 3c128004 lui r18,0x8004
  0013c804: 26524694 addiu r18,r18,0x4694
+
  0013c804: 26524694 addiu r18,r18,0x4694             # -> SCUS Call Build File Header
  0013c808: 00101100 sll r2,r16,0x04
+
  0013c808: 00101100 sll r2,r16,0x04                 # slot * 0x10
  0013c80c: 00508023 subu r16,r2,r16
+
  0013c80c: 00508023 subu r16,r2,r16                 # slot * 0x0f
  0013c810: 0c0532a0 jal 0x0014ca80
+
  0013c810: 0c0532a0 jal 0x0014ca80                   [[Switch To Next Thread]]
 
  0013c814: 00000000 nop
 
  0013c814: 00000000 nop
 
  0013c818: 3c018017 lui r1,0x8017
 
  0013c818: 3c018017 lui r1,0x8017
  0013c81c: ac323ca8 sw r18,0x3ca8(r1)
+
  0013c81c: ac323ca8 sw r18,0x3ca8(r1)               #
  0013c820: 26041d4c addiu r4,r16,0x1d4c
+
  0013c820: 26041d4c addiu r4,r16,0x1d4c             # slot * 0x0f + 0x1d4c (LBA sector of EVTCHR to open)
  0013c824: 34057800 ori r5,r0,0x7800
+
  0013c824: 34057800 ori r5,r0,0x7800                 # filesize
  0013c828: 0c0533ad jal 0x0014ceb4
+
  0013c828: 0c0533ad jal 0x0014ceb4                   # [[Call Inner Subroutine]] -> SCUS Call Build File Header
  0013c82c: 02203021 addu r6,r17,r0
+
  0013c82c: 02203021 addu r6,r17,r0                   # mem adress to open into
  0013c830: 1440fff7 bne r2,r0,0x0013c810
+
  0013c830: 1440fff7 bne r2,r0,0x0013c810             # branch if that failed, somehow (try again later)
 
  0013c834: 00000000 nop
 
  0013c834: 00000000 nop
 
  0013c838: 3c108004 lui r16,0x8004
 
  0013c838: 3c108004 lui r16,0x8004
  0013c83c: 261046c8 addiu r16,r16,0x46c8
+
  0013c83c: 261046c8 addiu r16,r16,0x46c8             # -> Check File Still Loading
  0013c840: 0c0532a0 jal 0x0014ca80
+
  0013c840: 0c0532a0 jal 0x0014ca80                   [[Switch To Next Thread]]
 
  0013c844: 00000000 nop
 
  0013c844: 00000000 nop
 
  0013c848: 3c018017 lui r1,0x8017
 
  0013c848: 3c018017 lui r1,0x8017
  0013c84c: ac303ca8 sw r16,0x3ca8(r1)
+
  0013c84c: ac303ca8 sw r16,0x3ca8(r1)               #
  0013c850: 0c0533ad jal 0x0014ceb4
+
  0013c850: 0c0533ad jal 0x0014ceb4                   # [[call Inner Subroutine]] -> [[Check File Still Loading]]
 
  0013c854: 00000000 nop
 
  0013c854: 00000000 nop
  0013c858: 1440fff9 bne r2,r0,0x0013c840
+
  0013c858: 1440fff9 bne r2,r0,0x0013c840             # loop if still opening
 
  0013c85c: 00000000 nop
 
  0013c85c: 00000000 nop
 
  0013c860: 3c018017 lui r1,0x8017
 
  0013c860: 3c018017 lui r1,0x8017
Line 44: Line 43:
 
  0013c868: 3c018017 lui r1,0x8017
 
  0013c868: 3c018017 lui r1,0x8017
 
  0013c86c: ac31400c sw r17,0x400c(r1)
 
  0013c86c: ac31400c sw r17,0x400c(r1)
  0013c870: 0c0532a0 jal 0x0014ca80
+
  0013c870: 0c0532a0 jal 0x0014ca80                   [[Switch To Next Thread]]
 
  0013c874: 00000000 nop
 
  0013c874: 00000000 nop
  0013c878: 0c011180 jal 0x00044600
+
  0013c878: 0c011180 jal 0x00044600                   # [[SCUS MRTA Free]]
 
  0013c87c: 02202021 addu r4,r17,r0
 
  0013c87c: 02202021 addu r4,r17,r0
  0013c880: 0c053256 jal 0x0014c958
+
  0013c880: 0c053256 jal 0x0014c958                   [[Stop Current Thread]]
 
  0013c884: 00000000 nop
 
  0013c884: 00000000 nop
 
  0013c888: 8fbf0020 lw r31,0x0020(r29)
 
  0013c888: 8fbf0020 lw r31,0x0020(r29)
Line 58: Line 57:
 
  0013c8a0: 03e00008 jr r31
 
  0013c8a0: 03e00008 jr r31
 
  0013c8a4: 00000000 nop
 
  0013c8a4: 00000000 nop
</font>
 

Revision as of 04:26, 6 September 2025

0013c7c4: 27bdffd8 addiu r29,r29,0xffd8
0013c7c8: afbf0020 sw r31,0x0020(r29)
0013c7cc: afb3001c sw r19,0x001c(r29)
0013c7d0: afb20018 sw r18,0x0018(r29)
0013c7d4: afb10014 sw r17,0x0014(r29)
0013c7d8: 0c0532f0 jal 0x0014cbc0                   Get First Thread Parameter
0013c7dc: afb00010 sw r16,0x0010(r29)
0013c7e0: 0c0532fd jal 0x0014cbf4                   Get Second Thread Parameter
0013c7e4: 00409821 addu r19,r2,r0                   # EVTCHR Block
0013c7e8: 34040034 ori r4,r0,0x0034
0013c7ec: 0c052752 jal 0x00149d48                   Set Thread Task ID task 0x34
0013c7f0: 00408021 addu r16,r2,r0                   # EVTCHR Slot
0013c7f4: 0c011105 jal 0x00044414                   SCUS MRTA Malloc 0x7800 bytes
0013c7f8: 34047800 ori r4,r0,0x7800
0013c7fc: 00408821 addu r17,r2,r0                   # mem address of allocated space
0013c800: 3c128004 lui r18,0x8004
0013c804: 26524694 addiu r18,r18,0x4694             # -> SCUS Call Build File Header
0013c808: 00101100 sll r2,r16,0x04                  # slot * 0x10
0013c80c: 00508023 subu r16,r2,r16                  # slot * 0x0f
0013c810: 0c0532a0 jal 0x0014ca80                   Switch To Next Thread
0013c814: 00000000 nop
0013c818: 3c018017 lui r1,0x8017
0013c81c: ac323ca8 sw r18,0x3ca8(r1)                #
0013c820: 26041d4c addiu r4,r16,0x1d4c              # slot * 0x0f + 0x1d4c (LBA sector of EVTCHR to open)
0013c824: 34057800 ori r5,r0,0x7800                 # filesize
0013c828: 0c0533ad jal 0x0014ceb4                   # Call Inner Subroutine -> SCUS Call Build File Header
0013c82c: 02203021 addu r6,r17,r0                   # mem adress to open into
0013c830: 1440fff7 bne r2,r0,0x0013c810             # branch if that failed, somehow (try again later)
0013c834: 00000000 nop
0013c838: 3c108004 lui r16,0x8004
0013c83c: 261046c8 addiu r16,r16,0x46c8             # -> Check File Still Loading
0013c840: 0c0532a0 jal 0x0014ca80                   Switch To Next Thread
0013c844: 00000000 nop
0013c848: 3c018017 lui r1,0x8017
0013c84c: ac303ca8 sw r16,0x3ca8(r1)                #
0013c850: 0c0533ad jal 0x0014ceb4                   # call Inner Subroutine -> Check File Still Loading
0013c854: 00000000 nop
0013c858: 1440fff9 bne r2,r0,0x0013c840             # loop if still opening
0013c85c: 00000000 nop
0013c860: 3c018017 lui r1,0x8017
0013c864: ac333c9c sw r19,0x3c9c(r1)
0013c868: 3c018017 lui r1,0x8017
0013c86c: ac31400c sw r17,0x400c(r1)
0013c870: 0c0532a0 jal 0x0014ca80                   Switch To Next Thread
0013c874: 00000000 nop
0013c878: 0c011180 jal 0x00044600                   # SCUS MRTA Free
0013c87c: 02202021 addu r4,r17,r0
0013c880: 0c053256 jal 0x0014c958                   Stop Current Thread
0013c884: 00000000 nop
0013c888: 8fbf0020 lw r31,0x0020(r29)
0013c88c: 8fb3001c lw r19,0x001c(r29)
0013c890: 8fb20018 lw r18,0x0018(r29)
0013c894: 8fb10014 lw r17,0x0014(r29)
0013c898: 8fb00010 lw r16,0x0010(r29)
0013c89c: 27bd0028 addiu r29,r29,0x0028
0013c8a0: 03e00008 jr r31
0013c8a4: 00000000 nop