Difference between revisions of "00043de0 - 00043efc"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with "<font face='Courier New'> 00043de0: 27bdffe0 addiu r29,r29,0xffe0 00043de4: afb10014 sw r17,0x0014(r29) 00043de8: 3c118005 lui r17,0x8005 00043dec: 2631d96c addiu r17,r1...")
 
m
 
Line 7: Line 7:
 
  00043df0: afbf0018 sw r31,0x0018(r29)
 
  00043df0: afbf0018 sw r31,0x0018(r29)
 
  00043df4: afb00010 sw r16,0x0010(r29)
 
  00043df4: afb00010 sw r16,0x0010(r29)
  00043df8: 8e230000 lw r3,0x0000(r17)
+
  00043df8: 8e230000 lw r3,0x0000(r17)             load permanent sound byte ID
 
  00043dfc: 00000000 nop
 
  00043dfc: 00000000 nop
 
  00043e00: 30620080 andi r2,r3,0x0080
 
  00043e00: 30620080 andi r2,r3,0x0080
  00043e04: 1040001d beq r2,r0,0x00043e7c
+
  00043e04: 1040001d beq r2,r0,0x00043e7c         check for 0x80 flag?
 
  00043e08: 00000000 nop
 
  00043e08: 00000000 nop
 
  00043e0c: 3c048005 lui r4,0x8005
 
  00043e0c: 3c048005 lui r4,0x8005
Line 18: Line 18:
 
  00043e1c: 14400032 bne r2,r0,0x00043ee8
 
  00043e1c: 14400032 bne r2,r0,0x00043ee8
 
  00043e20: 00001021 addu r2,r0,r0
 
  00043e20: 00001021 addu r2,r0,r0
  00043e24: 8e220000 lw r2,0x0000(r17)
+
  00043e24: 8e220000 lw r2,0x0000(r17)             permanent sound byte ID to play
 
  00043e28: 00000000 nop
 
  00043e28: 00000000 nop
 
  00043e2c: 3044003f andi r4,r2,0x003f
 
  00043e2c: 3044003f andi r4,r2,0x003f
 
  00043e30: 3042007f andi r2,r2,0x007f
 
  00043e30: 3042007f andi r2,r2,0x007f
  00043e34: ae220000 sw r2,0x0000(r17)
+
  00043e34: ae220000 sw r2,0x0000(r17)             clear 0x80 & 0x40 flags
 
  00043e38: 2622000c addiu r2,r17,0x000c
 
  00043e38: 2622000c addiu r2,r17,0x000c
 
  00043e3c: 00041880 sll r3,r4,0x02
 
  00043e3c: 00041880 sll r3,r4,0x02
Line 28: Line 28:
 
  00043e44: 8e020000 lw r2,0x0000(r16)
 
  00043e44: 8e020000 lw r2,0x0000(r16)
 
  00043e48: 00000000 nop
 
  00043e48: 00000000 nop
  00043e4c: 14400005 bne r2,r0,0x00043e64
+
  00043e4c: 14400005 bne r2,r0,0x00043e64         if permanent sound byte has extra pointer? play that first? (only the case for perm. sound bytes 0, -1?)
  00043e50: 02231021 addu r2,r17,r3
+
  00043e50: 02231021 addu r2,r17,r3              
  00043e54: 8c440028 lw r4,0x0028(r2)
+
  00043e54: 8c440028 lw r4,0x0028(r2)             load pointer to permanent sound file
  00043e58: 0c00483d jal 0x000120f4
+
  00043e58: 0c00483d jal 0x000120f4               [[000120f4 - 00012168]] takes SMD file as argument
 
  00043e5c: 00000000 nop
 
  00043e5c: 00000000 nop
  00043e60: ae020000 sw r2,0x0000(r16)
+
  00043e60: ae020000 sw r2,0x0000(r16)            
  00043e64: 8e040000 lw r4,0x0000(r16)
+
  00043e64: 8e040000 lw r4,0x0000(r16)            
 
  00043e68: 3405007f ori r5,r0,0x007f
 
  00043e68: 3405007f ori r5,r0,0x007f
  00043e6c: 0c004877 jal 0x000121dc
+
  00043e6c: 0c004877 jal 0x000121dc               [[000121dc - 00012280]]
 
  00043e70: 00003021 addu r6,r0,r0
 
  00043e70: 00003021 addu r6,r0,r0
 
  00043e74: 08010fba j 0x00043ee8
 
  00043e74: 08010fba j 0x00043ee8

Latest revision as of 00:49, 16 June 2024

00043de0: 27bdffe0 addiu r29,r29,0xffe0
00043de4: afb10014 sw r17,0x0014(r29)
00043de8: 3c118005 lui r17,0x8005
00043dec: 2631d96c addiu r17,r17,0xd96c
00043df0: afbf0018 sw r31,0x0018(r29)
00043df4: afb00010 sw r16,0x0010(r29)
00043df8: 8e230000 lw r3,0x0000(r17)             load permanent sound byte ID
00043dfc: 00000000 nop
00043e00: 30620080 andi r2,r3,0x0080
00043e04: 1040001d beq r2,r0,0x00043e7c          check for 0x80 flag?
00043e08: 00000000 nop
00043e0c: 3c048005 lui r4,0x8005
00043e10: 8c84d960 lw r4,-0x26a0(r4)
00043e14: 0c004b9f jal 0x00012e7c
00043e18: 00000000 nop
00043e1c: 14400032 bne r2,r0,0x00043ee8
00043e20: 00001021 addu r2,r0,r0
00043e24: 8e220000 lw r2,0x0000(r17)             permanent sound byte ID to play
00043e28: 00000000 nop
00043e2c: 3044003f andi r4,r2,0x003f
00043e30: 3042007f andi r2,r2,0x007f
00043e34: ae220000 sw r2,0x0000(r17)             clear 0x80 & 0x40 flags
00043e38: 2622000c addiu r2,r17,0x000c
00043e3c: 00041880 sll r3,r4,0x02
00043e40: 00628021 addu r16,r3,r2
00043e44: 8e020000 lw r2,0x0000(r16)
00043e48: 00000000 nop
00043e4c: 14400005 bne r2,r0,0x00043e64          if permanent sound byte has extra pointer? play that first? (only the case for perm. sound bytes 0, -1?)
00043e50: 02231021 addu r2,r17,r3                
00043e54: 8c440028 lw r4,0x0028(r2)              load pointer to permanent sound file
00043e58: 0c00483d jal 0x000120f4                000120f4 - 00012168 takes SMD file as argument
00043e5c: 00000000 nop
00043e60: ae020000 sw r2,0x0000(r16)             
00043e64: 8e040000 lw r4,0x0000(r16)             
00043e68: 3405007f ori r5,r0,0x007f
00043e6c: 0c004877 jal 0x000121dc                000121dc - 00012280
00043e70: 00003021 addu r6,r0,r0
00043e74: 08010fba j 0x00043ee8
00043e78: 34020001 ori r2,r0,0x0001
00043e7c: 10600019 beq r3,r0,0x00043ee4
00043e80: 3064003f andi r4,r3,0x003f
00043e84: 2623000c addiu r3,r17,0x000c
00043e88: 00041080 sll r2,r4,0x02
00043e8c: 00438021 addu r16,r2,r3
00043e90: 8e040000 lw r4,0x0000(r16)
00043e94: 0c004b9f jal 0x00012e7c
00043e98: 00000000 nop
00043e9c: 14400012 bne r2,r0,0x00043ee8
00043ea0: 00001021 addu r2,r0,r0
00043ea4: 8e040000 lw r4,0x0000(r16)
00043ea8: 0c0048ce jal 0x00012338
00043eac: 00000000 nop
00043eb0: 8e040000 lw r4,0x0000(r16)
00043eb4: 00000000 nop
00043eb8: 10800003 beq r4,r0,0x00043ec8
00043ebc: 00000000 nop
00043ec0: 0c00485b jal 0x0001216c
00043ec4: 00000000 nop
00043ec8: 3404007f ori r4,r0,0x007f
00043ecc: 34050078 ori r5,r0,0x0078
00043ed0: ae000000 sw r0,0x0000(r16)
00043ed4: 0c010efa jal 0x00043be8
00043ed8: ae200000 sw r0,0x0000(r17)
00043edc: 08010fba j 0x00043ee8
00043ee0: 00000000 nop
00043ee4: 00001021 addu r2,r0,r0
00043ee8: 8fbf0018 lw r31,0x0018(r29)
00043eec: 8fb10014 lw r17,0x0014(r29)
00043ef0: 8fb00010 lw r16,0x0010(r29)
00043ef4: 27bd0020 addiu r29,r29,0x0020
00043ef8: 03e00008 jr r31
00043efc: 00000000 nop