summaryrefslogtreecommitdiff
path: root/libpcsxcore/psxdma.c
diff options
context:
space:
mode:
Diffstat (limited to 'libpcsxcore/psxdma.c')
-rw-r--r--libpcsxcore/psxdma.c67
1 files changed, 1 insertions, 66 deletions
diff --git a/libpcsxcore/psxdma.c b/libpcsxcore/psxdma.c
index 7b0cdd37..1b28067a 100644
--- a/libpcsxcore/psxdma.c
+++ b/libpcsxcore/psxdma.c
@@ -80,72 +80,7 @@ void psxDma4(u32 madr, u32 bcr, u32 chcr) { // SPU
DMA_INTERRUPT(4);
}
-void psxDma2(u32 madr, u32 bcr, u32 chcr) { // GPU
- u32 *ptr;
- u32 size;
-
- switch(chcr) {
- case 0x01000200: // vram2mem
-#ifdef PSXDMA_LOG
- PSXDMA_LOG("*** DMA2 GPU - vram2mem *** %x addr = %x size = %x\n", chcr, madr, bcr);
-#endif
- ptr = (u32 *)PSXM(madr);
- if (ptr == NULL) {
-#ifdef CPU_LOG
- CPU_LOG("*** DMA2 GPU - vram2mem *** NULL Pointer!!!\n");
-#endif
- break;
- }
- size = (bcr >> 16) * (bcr & 0xffff);
- GPU_readDataMem(ptr, size);
- psxCpu->Clear(madr, size);
-
- GPUDMA_INT(size / 4);
- return;
-
- case 0x01000201: // mem2vram
-#ifdef PSXDMA_LOG
- PSXDMA_LOG("*** DMA 2 - GPU mem2vram *** %x addr = %x size = %x\n", chcr, madr, bcr);
-#endif
- ptr = (u32 *)PSXM(madr);
- if (ptr == NULL) {
-#ifdef CPU_LOG
- CPU_LOG("*** DMA2 GPU - mem2vram *** NULL Pointer!!!\n");
-#endif
- break;
- }
- size = (bcr >> 16) * (bcr & 0xffff);
- GPU_writeDataMem(ptr, size);
-
- GPUDMA_INT(size / 4);
- return;
-
- case 0x01000401: // dma chain
-#ifdef PSXDMA_LOG
- PSXDMA_LOG("*** DMA 2 - GPU dma chain *** %x addr = %x size = %x\n", chcr, madr, bcr);
-#endif
- GPU_dmaChain((u32 *)psxM, madr & 0x1fffff);
- // FIXME!!! Walk through DMA chain and add the cycles
- GPUDMA_INT( 0x4000 / 4 );
- return;
-
-#ifdef PSXDMA_LOG
- default:
- PSXDMA_LOG("*** DMA 2 - GPU unknown *** %x addr = %x size = %x\n", chcr, madr, bcr);
- break;
-#endif
- }
-
- HW_DMA2_CHCR &= SWAP32(~0x01000000);
- DMA_INTERRUPT(2);
-}
-
-void gpuInterrupt() {
- HW_DMA2_CHCR &= SWAP32(~0x01000000);
- DMA_INTERRUPT(2);
-}
-
void psxDma6(u32 madr, u32 bcr, u32 chcr) {
u32 *mem = (u32 *)PSXM(madr);
@@ -169,7 +104,7 @@ void psxDma6(u32 madr, u32 bcr, u32 chcr) {
}
mem++; *mem = 0xffffff;
- RAMDMA_INT( size / BIAS);
+ RAMDMA_INT( size );
return;
}
#ifdef PSXDMA_LOG