Mystique DMAPAD register doesn't act like an ILOAD mirror on DMA writes.
This commit is contained in:
parent
a017de3c57
commit
bb1f314d9c
1 changed files with 6 additions and 4 deletions
|
|
@ -2385,10 +2385,11 @@ static void run_dma(mystique_t *mystique)
|
|||
reg_addr += 0x1c00;
|
||||
|
||||
// pclog(" DMA pri write %08x to %02x %04x %08x %08x\n", val, mystique->dma.pri_header & 0xff, reg_addr, (mystique->dma.primaddress & DMA_ADDR_MASK), (mystique->dma.primend & DMA_ADDR_MASK));
|
||||
if ((reg_addr & 0x300) == 0x100)
|
||||
if ((reg_addr & 0x300) == 0x100 && reg_addr != REG_DMAPAD)
|
||||
mystique->blitter_submit_dma_refcount++;
|
||||
|
||||
mystique_accel_ctrl_write_l(reg_addr, val, mystique);
|
||||
if (reg_addr != REG_DMAPAD)
|
||||
mystique_accel_ctrl_write_l(reg_addr, val, mystique);
|
||||
}
|
||||
|
||||
mystique->dma.pri_header >>= 8;
|
||||
|
|
@ -2435,10 +2436,11 @@ static void run_dma(mystique_t *mystique)
|
|||
reg_addr += 0x1c00;
|
||||
|
||||
// pclog(" DMA sec write %08x to %02x %04x %08x %08x\n", val, mystique->dma.sec_header & 0xff, reg_addr, (mystique->dma.secaddress & DMA_ADDR_MASK), (mystique->dma.secend & DMA_ADDR_MASK));
|
||||
if ((reg_addr & 0x300) == 0x100)
|
||||
if ((reg_addr & 0x300) == 0x100 && reg_addr != REG_DMAPAD)
|
||||
mystique->blitter_submit_dma_refcount++;
|
||||
|
||||
mystique_accel_ctrl_write_l(reg_addr, val, mystique);
|
||||
if (reg_addr != REG_DMAPAD)
|
||||
mystique_accel_ctrl_write_l(reg_addr, val, mystique);
|
||||
}
|
||||
|
||||
mystique->dma.sec_header >>= 8;
|
||||
|
|
|
|||
Loading…
Reference in a new issue