Difference between revisions of "Call Finish data transfer to SPU"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
m
 
(No difference)

Latest revision as of 04:33, 22 January 2025

p1 = DMA address to write from(?) might be ram address of original location.
p2 = size of data being transferred
0001af64: 27bdffe8 addiu r29,r29,0xffe8
0001af68: afb00010 sw r16,0x0010(r29)
0001af6c: 00a08021 addu r16,r5,r0
0001af70: 3c020007 lui r2,0x0007
0001af74: 3442eff0 ori r2,r2,0xeff0
0001af78: 0050102b sltu r2,r2,r16
0001af7c: 10400003 beq r2,r0,0x0001af8c          if p2 > 0x7eff0, request p2
0001af80: afbf0014 sw r31,0x0014(r29)
0001af84: 3c100007 lui r16,0x0007
0001af88: 3610eff0 ori r16,r16,0xeff0            if p2 < 0x7eff0, request transfer 0x7eff0
0001af8c: 0c006435 jal 0x000190d4                Finish data transfer to SPU
0001af90: 02002821 addu r5,r16,r0
0001af94: 3c028003 lui r2,0x8003
0001af98: 8c42ad7c lw r2,-0x5284(r2)             spu dma callback
0001af9c: 00000000 nop
0001afa0: 14400003 bne r2,r0,0x0001afb0          branch if it exists
0001afa4: 02001021 addu r2,r16,r0                return final requested size of transferred data
0001afa8: 3c018003 lui r1,0x8003
0001afac: ac20ad78 sw r0,-0x5288(r1)             if no callback store 0?
0001afb0: 8fbf0014 lw r31,0x0014(r29)
0001afb4: 8fb00010 lw r16,0x0010(r29)
0001afb8: 27bd0018 addiu r29,r29,0x0018
0001afbc: 03e00008 jr r31
0001afc0: 00000000 nop