Files
banjo-kazooie/src/core1/io/sirawdma.c

23 lines
514 B
C

#include <ultra64.h>
s32 __osSiRawStartDma(s32 direction, void *dramAddr)
{
if (__osSiDeviceBusy())
return -1;
if (direction == OS_WRITE)
osWritebackDCache(dramAddr, 64);
IO_WRITE(SI_DRAM_ADDR_REG, osVirtualToPhysical(dramAddr));
if (direction == OS_READ)
IO_WRITE(SI_PIF_ADDR_RD64B_REG, 0x1FC007C0);
else
IO_WRITE(SI_PIF_ADDR_WR64B_REG, 0x1FC007C0);
if (direction == OS_READ)
osInvalDCache(dramAddr, 64);//bzero(dramAddr, 64);
return 0;
}