Difference between revisions of "ATTACK.OUT Enqueue Open File"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
m (RetroTypes moved page 001c8024 - 001c80cc to ATTACK.OUT 001c8024 - 001c80cc: Renaming routines to have file name in them for clarity)
m
Line 1: Line 1:
 
  001c8024: 27bdffd8 addiu r29,r29,0xffd8
 
  001c8024: 27bdffd8 addiu r29,r29,0xffd8
 
  001c8028: afb00010 sw r16,0x0010(r29)
 
  001c8028: afb00010 sw r16,0x0010(r29)
  001c802c: 00808021 addu r16,r4,r0
+
  001c802c: 00808021 addu r16,r4,r0                   LBA
 
  001c8030: afb10014 sw r17,0x0014(r29)
 
  001c8030: afb10014 sw r17,0x0014(r29)
  001c8034: 00a08821 addu r17,r5,r0
+
  001c8034: 00a08821 addu r17,r5,r0                   filesize
  001c8038: afb20018 sw r18,0x0018(r29)
+
  001c8038: afb20018 sw r18,0x0018(r29)  
  001c803c: 00c09021 addu r18,r6,r0
+
  001c803c: 00c09021 addu r18,r6,r0                   file location
 
  001c8040: afb3001c sw r19,0x001c(r29)
 
  001c8040: afb3001c sw r19,0x001c(r29)
 
  001c8044: 3c138004 lui r19,0x8004
 
  001c8044: 3c138004 lui r19,0x8004
  001c8048: 26734694 addiu r19,r19,0x4694
+
  001c8048: 26734694 addiu r19,r19,0x4694             [[SCUS Call Build File Header]]
 
  001c804c: afbf0020 sw r31,0x0020(r29)
 
  001c804c: afbf0020 sw r31,0x0020(r29)
 
  001c8050: 3c018017 lui r1,0x8017
 
  001c8050: 3c018017 lui r1,0x8017
Line 14: Line 14:
 
  001c8058: 02002021 addu r4,r16,r0
 
  001c8058: 02002021 addu r4,r16,r0
 
  001c805c: 02202821 addu r5,r17,r0
 
  001c805c: 02202821 addu r5,r17,r0
  001c8060: 0c0533ad jal 0x0014ceb4
+
  001c8060: 0c0533ad jal 0x0014ceb4                   [[Call Inner Subroutine]] --> [[SCUS Call Build File Header]] (LBA, filesize, FileLocation)
 
  001c8064: 02403021 addu r6,r18,r0
 
  001c8064: 02403021 addu r6,r18,r0
  001c8068: 10400005 beq r2,r0,0x001c8080
+
  001c8068: 10400005 beq r2,r0,0x001c8080             branch if successfully able to build file header
 
  001c806c: 00000000 nop
 
  001c806c: 00000000 nop
  001c8070: 0c0532a0 jal 0x0014ca80
+
  001c8070: 0c0532a0 jal 0x0014ca80                   [[Switch To Next Thread]] if unable to build header
 
  001c8074: 00000000 nop
 
  001c8074: 00000000 nop
  001c8078: 08072014 j 0x001c8050
+
  001c8078: 08072014 j 0x001c8050                     try again
 
  001c807c: 00000000 nop
 
  001c807c: 00000000 nop
 +
 
  001c8080: 3c108004 lui r16,0x8004
 
  001c8080: 3c108004 lui r16,0x8004
  001c8084: 261046c8 addiu r16,r16,0x46c8
+
  001c8084: 261046c8 addiu r16,r16,0x46c8             [[Check File Still Loading]]
 
  001c8088: 3c018017 lui r1,0x8017
 
  001c8088: 3c018017 lui r1,0x8017
 
  001c808c: ac303ca8 sw r16,0x3ca8(r1)
 
  001c808c: ac303ca8 sw r16,0x3ca8(r1)
  001c8090: 0c0533ad jal 0x0014ceb4
+
  001c8090: 0c0533ad jal 0x0014ceb4                   [[Call Inner Subroutine]] --> [[Check File Still Loading]]
 
  001c8094: 00000000 nop
 
  001c8094: 00000000 nop
  001c8098: 10400005 beq r2,r0,0x001c80b0
+
  001c8098: 10400005 beq r2,r0,0x001c80b0             branch if able to open file now
 
  001c809c: 00000000 nop
 
  001c809c: 00000000 nop
  001c80a0: 0c0532a0 jal 0x0014ca80
+
  001c80a0: 0c0532a0 jal 0x0014ca80                   [[Switch To Next Thread]]
 
  001c80a4: 00000000 nop
 
  001c80a4: 00000000 nop
  001c80a8: 08072022 j 0x001c8088
+
  001c80a8: 08072022 j 0x001c8088                     try again
 
  001c80ac: 00000000 nop
 
  001c80ac: 00000000 nop
 +
 
  001c80b0: 8fbf0020 lw r31,0x0020(r29)
 
  001c80b0: 8fbf0020 lw r31,0x0020(r29)
 
  001c80b4: 8fb3001c lw r19,0x001c(r29)
 
  001c80b4: 8fb3001c lw r19,0x001c(r29)

Revision as of 09:13, 12 June 2025

001c8024: 27bdffd8 addiu r29,r29,0xffd8
001c8028: afb00010 sw r16,0x0010(r29)
001c802c: 00808021 addu r16,r4,r0                   LBA
001c8030: afb10014 sw r17,0x0014(r29)
001c8034: 00a08821 addu r17,r5,r0                   filesize
001c8038: afb20018 sw r18,0x0018(r29) 
001c803c: 00c09021 addu r18,r6,r0                   file location
001c8040: afb3001c sw r19,0x001c(r29)
001c8044: 3c138004 lui r19,0x8004
001c8048: 26734694 addiu r19,r19,0x4694             SCUS Call Build File Header
001c804c: afbf0020 sw r31,0x0020(r29)
001c8050: 3c018017 lui r1,0x8017
001c8054: ac333ca8 sw r19,0x3ca8(r1)
001c8058: 02002021 addu r4,r16,r0
001c805c: 02202821 addu r5,r17,r0
001c8060: 0c0533ad jal 0x0014ceb4                   Call Inner Subroutine --> SCUS Call Build File Header (LBA, filesize, FileLocation)
001c8064: 02403021 addu r6,r18,r0
001c8068: 10400005 beq r2,r0,0x001c8080             branch if successfully able to build file header
001c806c: 00000000 nop
001c8070: 0c0532a0 jal 0x0014ca80                   Switch To Next Thread if unable to build header
001c8074: 00000000 nop
001c8078: 08072014 j 0x001c8050                     try again
001c807c: 00000000 nop
001c8080: 3c108004 lui r16,0x8004
001c8084: 261046c8 addiu r16,r16,0x46c8             Check File Still Loading
001c8088: 3c018017 lui r1,0x8017
001c808c: ac303ca8 sw r16,0x3ca8(r1)
001c8090: 0c0533ad jal 0x0014ceb4                   Call Inner Subroutine --> Check File Still Loading
001c8094: 00000000 nop
001c8098: 10400005 beq r2,r0,0x001c80b0             branch if able to open file now
001c809c: 00000000 nop
001c80a0: 0c0532a0 jal 0x0014ca80                   Switch To Next Thread
001c80a4: 00000000 nop
001c80a8: 08072022 j 0x001c8088                     try again
001c80ac: 00000000 nop
001c80b0: 8fbf0020 lw r31,0x0020(r29)
001c80b4: 8fb3001c lw r19,0x001c(r29)
001c80b8: 8fb20018 lw r18,0x0018(r29)
001c80bc: 8fb10014 lw r17,0x0014(r29)
001c80c0: 8fb00010 lw r16,0x0010(r29)
001c80c4: 27bd0028 addiu r29,r29,0x0028
001c80c8: 03e00008 jr r31
001c80cc: 00000000 nop