Difference between revisions of "Put WAVESET.WD in SPU"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
m
m
 
(3 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
  00017c8c: 27bdffe0 addiu r29,r29,0xffe0
 
  00017c8c: 27bdffe0 addiu r29,r29,0xffe0
 
  00017c90: afb00010 sw r16,0x0010(r29)
 
  00017c90: afb00010 sw r16,0x0010(r29)
  00017c94: 00808021 addu r16,r4,r0              Address in RAM of WD? file
+
  00017c94: 00808021 addu r16,r4,r0              Address in RAM of WD? file (might just be used for sound files in general.)
 
  00017c98: afbf001c sw r31,0x001c(r29)
 
  00017c98: afbf001c sw r31,0x001c(r29)
 
  00017c9c: afb20018 sw r18,0x0018(r29)
 
  00017c9c: afb20018 sw r18,0x0018(r29)
 
  00017ca0: afb10014 sw r17,0x0014(r29)
 
  00017ca0: afb10014 sw r17,0x0014(r29)
  00017ca4: 8e040014 lw r4,0x0014(r16)            size to allocate fffor?
+
  00017ca4: 8e040014 lw r4,0x0014(r16)            size to allocate for
 
  00017ca8: 0c005153 jal 0x0001454c              [[SpuMalloc with extra steps]]
 
  00017ca8: 0c005153 jal 0x0001454c              [[SpuMalloc with extra steps]]
 
  00017cac: 00000000 nop
 
  00017cac: 00000000 nop
Line 13: Line 13:
 
  00017cb4: 02202021 addu r4,r17,r0              parse it
 
  00017cb4: 02202021 addu r4,r17,r0              parse it
 
  00017cb8: 34070011 ori r7,r0,0x0011
 
  00017cb8: 34070011 ori r7,r0,0x0011
  00017cbc: 8e050018 lw r5,0x0018(r16)             
+
  00017cbc: 8e050018 lw r5,0x0018(r16)            offset of data to transfer
  00017cc0: 8e060014 lw r6,0x0014(r16)            size to allocate fffor?
+
  00017cc0: 8e060014 lw r6,0x0014(r16)            Instruction to give to SPU transfer
  00017cc4: 0c006146 jal 0x00018518              [[00018518 - 00018650]]
+
  00017cc4: 0c006146 jal 0x00018518              [[SPU data transfer controller]]
  00017cc8: 02052821 addu r5,r16,r5              an address to start moving data from?
+
  00017cc8: 02052821 addu r5,r16,r5              transfer CPU RAM address
  00017ccc: 8e040010 lw r4,0x0010(r16)            ? seems to be the same value as 0x18
+
  00017ccc: 8e040010 lw r4,0x0010(r16)            RAM size needed to store current music file
  00017cd0: 0c00509e jal 0x00014278              [[00014278 - 00014354]]
+
  00017cd0: 0c00509e jal 0x00014278              [[Find space for SMD to MUS]]
 
  00017cd4: 00000000 nop
 
  00017cd4: 00000000 nop
  00017cd8: 00409021 addu r18,r2,r0              returns some address?
+
  00017cd8: 00409021 addu r18,r2,r0              returns pointer
  00017cdc: 02402021 addu r4,r18,r0
+
  00017cdc: 02402021 addu r4,r18,r0               parse said pointer
  00017ce0: 8e060010 lw r6,0x0010(r16)
+
  00017ce0: 8e060010 lw r6,0x0010(r16)           and the size of the music being dedicated
 
  00017ce4: 0c00510b jal 0x0001442c              [[0001442c - 000144cc]]
 
  00017ce4: 0c00510b jal 0x0001442c              [[0001442c - 000144cc]]
  00017ce8: 02002821 addu r5,r16,r0
+
  00017ce8: 02002821 addu r5,r16,r0               and waveset's file position
 
  00017cec: 3c028003 lui r2,0x8003
 
  00017cec: 3c028003 lui r2,0x8003
 
  00017cf0: 8c422a44 lw r2,0x2a44(r2)
 
  00017cf0: 8c422a44 lw r2,0x2a44(r2)
Line 39: Line 39:
 
  00017d1c: 34040010 ori r4,r0,0x0010
 
  00017d1c: 34040010 ori r4,r0,0x0010
 
  00017d20: acb20000 sw r18,0x0000(r5)
 
  00017d20: acb20000 sw r18,0x0000(r5)
  00017d24: 0c006197 jal 0x0001865c              [[0001865c - 000186b8]]
+
  00017d24: 0c006197 jal 0x0001865c              [[Wait for SPU transfer]]
 
  00017d28: ae40002c sw r0,0x002c(r18)
 
  00017d28: ae40002c sw r0,0x002c(r18)
 
  00017d2c: 02401021 addu r2,r18,r0
 
  00017d2c: 02401021 addu r2,r18,r0

Latest revision as of 11:52, 3 February 2025

00017c8c: 27bdffe0 addiu r29,r29,0xffe0
00017c90: afb00010 sw r16,0x0010(r29)
00017c94: 00808021 addu r16,r4,r0               Address in RAM of WD? file (might just be used for sound files in general.)
00017c98: afbf001c sw r31,0x001c(r29)
00017c9c: afb20018 sw r18,0x0018(r29)
00017ca0: afb10014 sw r17,0x0014(r29)
00017ca4: 8e040014 lw r4,0x0014(r16)            size to allocate for
00017ca8: 0c005153 jal 0x0001454c               SpuMalloc with extra steps
00017cac: 00000000 nop
00017cb0: 00408821 addu r17,r2,r0               Spu Address
00017cb4: 02202021 addu r4,r17,r0               parse it
00017cb8: 34070011 ori r7,r0,0x0011
00017cbc: 8e050018 lw r5,0x0018(r16)            offset of data to transfer
00017cc0: 8e060014 lw r6,0x0014(r16)            Instruction to give to SPU transfer
00017cc4: 0c006146 jal 0x00018518               SPU data transfer controller
00017cc8: 02052821 addu r5,r16,r5               transfer CPU RAM address
00017ccc: 8e040010 lw r4,0x0010(r16)            RAM size needed to store current music file
00017cd0: 0c00509e jal 0x00014278               Find space for SMD to MUS
00017cd4: 00000000 nop
00017cd8: 00409021 addu r18,r2,r0               returns pointer
00017cdc: 02402021 addu r4,r18,r0               parse said pointer
00017ce0: 8e060010 lw r6,0x0010(r16)            and the size of the music being dedicated
00017ce4: 0c00510b jal 0x0001442c               0001442c - 000144cc
00017ce8: 02002821 addu r5,r16,r0               and waveset's file position
00017cec: 3c028003 lui r2,0x8003
00017cf0: 8c422a44 lw r2,0x2a44(r2)
00017cf4: 3c058003 lui r5,0x8003
00017cf8: 24a52a44 addiu r5,r5,0x2a44
00017cfc: 10400007 beq r2,r0,0x00017d1c
00017d00: ae510028 sw r17,0x0028(r18)           store SPU pointer to... that.
00017d04: 8ca20000 lw r2,0x0000(r5)
00017d08: 00000000 nop
00017d0c: 8c43002c lw r3,0x002c(r2)
00017d10: 00000000 nop
00017d14: 1460fffb bne r3,r0,0x00017d04         similar loop here to the inaptly named Get Sound Effect Data
00017d18: 2445002c addiu r5,r2,0x002c           but with data sizes of 0x2c instead.
00017d1c: 34040010 ori r4,r0,0x0010
00017d20: acb20000 sw r18,0x0000(r5)
00017d24: 0c006197 jal 0x0001865c               Wait for SPU transfer
00017d28: ae40002c sw r0,0x002c(r18)
00017d2c: 02401021 addu r2,r18,r0
00017d30: 8fbf001c lw r31,0x001c(r29)
00017d34: 8fb20018 lw r18,0x0018(r29)
00017d38: 8fb10014 lw r17,0x0014(r29)
00017d3c: 8fb00010 lw r16,0x0010(r29)
00017d40: 27bd0020 addiu r29,r29,0x0020
00017d44: 03e00008 jr r31
00017d48: 00000000 nop