Difference between revisions of "Begin transfer data to SPU"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Created page with "<font face='Courier New'> 0001915c: 27bdffe0 addiu r29,r29,0xffe0 00019160: afb10014 sw r17,0x0014(r29) 00019164: 00808821 addu r17,r4,r0 00019168: afb00010 sw r16,0x001...")
 
m
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
<font face='Courier New'>
 
<font face='Courier New'>
   
+
  p1 = ram memory address to read from
 +
p2 = size (bytes) of data to transfer
 +
 
 
  0001915c: 27bdffe0 addiu r29,r29,0xffe0
 
  0001915c: 27bdffe0 addiu r29,r29,0xffe0
 
  00019160: afb10014 sw r17,0x0014(r29)
 
  00019160: afb10014 sw r17,0x0014(r29)
Line 7: Line 9:
 
  0001916c: 00a08021 addu r16,r5,r0
 
  0001916c: 00a08021 addu r16,r5,r0
 
  00019170: 3c028003 lui r2,0x8003
 
  00019170: 3c028003 lui r2,0x8003
  00019174: 9442ad5c lhu r2,-0x52a4(r2)
+
  00019174: 9442ad5c lhu r2,-0x52a4(r2)             instruction to parse
 
  00019178: 3c058003 lui r5,0x8003
 
  00019178: 3c058003 lui r5,0x8003
  0001917c: 8ca5ad6c lw r5,-0x5294(r5)
+
  0001917c: 8ca5ad6c lw r5,-0x5294(r5)               3
 
  00019180: 34040002 ori r4,r0,0x0002
 
  00019180: 34040002 ori r4,r0,0x0002
 
  00019184: afbf0018 sw r31,0x0018(r29)
 
  00019184: afbf0018 sw r31,0x0018(r29)
  00019188: 0c006391 jal 0x00018e44
+
  00019188: 0c006391 jal 0x00018e44                 [[SPU transfer control]] (2, instruction, null, null)
  0001918c: 00a22804 sllv r5,r2,r5
+
  0001918c: 00a22804 sllv r5,r2,r5                   instruction to parse to spu sound data transfer << 3 (the shift is just undone in the routine I'm going to stab someone)
  00019190: 0c006391 jal 0x00018e44
+
  00019190: 0c006391 jal 0x00018e44                 [[SPU transfer control]] (0, null, null, null)
 
  00019194: 00002021 addu r4,r0,r0
 
  00019194: 00002021 addu r4,r0,r0
 
  00019198: 34040003 ori r4,r0,0x0003
 
  00019198: 34040003 ori r4,r0,0x0003
 
  0001919c: 02202821 addu r5,r17,r0
 
  0001919c: 02202821 addu r5,r17,r0
  000191a0: 0c006391 jal 0x00018e44
+
  000191a0: 0c006391 jal 0x00018e44                 [[SPU transfer control]] (3, p1, p2, null)
 
  000191a4: 02003021 addu r6,r16,r0
 
  000191a4: 02003021 addu r6,r16,r0
  000191a8: 02001021 addu r2,r16,r0
+
  000191a8: 02001021 addu r2,r16,r0                 return p2
 
  000191ac: 8fbf0018 lw r31,0x0018(r29)
 
  000191ac: 8fbf0018 lw r31,0x0018(r29)
 
  000191b0: 8fb10014 lw r17,0x0014(r29)
 
  000191b0: 8fb10014 lw r17,0x0014(r29)

Latest revision as of 00:51, 22 January 2025

p1 = ram memory address to read from
p2 = size (bytes) of data to transfer
0001915c: 27bdffe0 addiu r29,r29,0xffe0
00019160: afb10014 sw r17,0x0014(r29)
00019164: 00808821 addu r17,r4,r0
00019168: afb00010 sw r16,0x0010(r29)
0001916c: 00a08021 addu r16,r5,r0
00019170: 3c028003 lui r2,0x8003
00019174: 9442ad5c lhu r2,-0x52a4(r2)              instruction to parse
00019178: 3c058003 lui r5,0x8003
0001917c: 8ca5ad6c lw r5,-0x5294(r5)               3
00019180: 34040002 ori r4,r0,0x0002
00019184: afbf0018 sw r31,0x0018(r29)
00019188: 0c006391 jal 0x00018e44                  SPU transfer control (2, instruction, null, null)
0001918c: 00a22804 sllv r5,r2,r5                   instruction to parse to spu sound data transfer << 3 (the shift is just undone in the routine I'm going to stab someone)
00019190: 0c006391 jal 0x00018e44                  SPU transfer control (0, null, null, null)
00019194: 00002021 addu r4,r0,r0
00019198: 34040003 ori r4,r0,0x0003
0001919c: 02202821 addu r5,r17,r0
000191a0: 0c006391 jal 0x00018e44                  SPU transfer control (3, p1, p2, null)
000191a4: 02003021 addu r6,r16,r0
000191a8: 02001021 addu r2,r16,r0                  return p2
000191ac: 8fbf0018 lw r31,0x0018(r29)
000191b0: 8fb10014 lw r17,0x0014(r29)
000191b4: 8fb00010 lw r16,0x0010(r29)
000191b8: 27bd0020 addiu r29,r29,0x0020
000191bc: 03e00008 jr r31
000191c0: 00000000 nop