mirror of
https://github.com/mupen64plus/mupen64plus-core.git
synced 2024-05-20 04:50:38 -04:00
Fixed contents of DMA related registers after a DMA completes
Co-Authored-By: Matt Pharoah <mtpharoah@gmail.com>
This commit is contained in:
parent
d6a2668b6e
commit
b272296ba6
|
@ -64,6 +64,10 @@ static void do_sp_dma(struct rsp_core* sp, const struct sp_dma* dma)
|
|||
post_framebuffer_write(&sp->dp->fb, dramaddr - length, length);
|
||||
dramaddr+=skip;
|
||||
}
|
||||
|
||||
sp->regs[SP_MEM_ADDR_REG] = memaddr & 0xfff;
|
||||
sp->regs[SP_DRAM_ADDR_REG] = dramaddr & 0xffffff;
|
||||
sp->regs[SP_RD_LEN_REG] = 0xff8;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -77,6 +81,10 @@ static void do_sp_dma(struct rsp_core* sp, const struct sp_dma* dma)
|
|||
}
|
||||
dramaddr+=skip;
|
||||
}
|
||||
|
||||
sp->regs[SP_MEM_ADDR_REG] = memaddr & 0xfff;
|
||||
sp->regs[SP_DRAM_ADDR_REG] = dramaddr & 0xffffff;
|
||||
sp->regs[SP_RD_LEN_REG] = 0xff8;
|
||||
}
|
||||
|
||||
/* schedule end of dma event */
|
||||
|
@ -224,6 +232,8 @@ void poweron_rsp(struct rsp_core* sp)
|
|||
sp->rsp_task_locked = 0;
|
||||
sp->mi->r4300->cp0.interrupt_unsafe_state &= ~INTR_UNSAFE_RSP;
|
||||
sp->regs[SP_STATUS_REG] = 1;
|
||||
sp->regs[SP_RD_LEN_REG] = 0xff8;
|
||||
sp->regs[SP_WR_LEN_REG] = 0xff8;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue