summaryrefslogtreecommitdiff
path: root/vdp.c
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2017-01-22 19:40:32 -0800
committerMichael Pavone <pavone@retrodev.com>2017-01-22 19:40:32 -0800
commit95bad3f04ee801f5337e6c10e566085fd4d48bd2 (patch)
tree1a69ddf50fa56f6d2e856c0bbe882e6b948e62cf /vdp.c
parent329be930106842ee60e0d9335b2f585c90a6c337 (diff)
Force IPV4 for GDB remote debugging on Windows. Bind to localhost instead of unspecified address since listening on external ports probably isn't a good idea in the general case
Diffstat (limited to 'vdp.c')
-rw-r--r--vdp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/vdp.c b/vdp.c
index d69fe81..141cff0 100644
--- a/vdp.c
+++ b/vdp.c
@@ -2432,8 +2432,8 @@ int vdp_control_port_write(vdp_context * context, uint16_t value)
context->flags |= FLAG_DMA_RUN;
context->dma_cd = context->cd;
//printf("DMA start (length: %X) at cycle %d, frame: %d, vcounter: %d, hslot: %d\n", (context->regs[REG_DMALEN_H] << 8) | context->regs[REG_DMALEN_L], context->cycles, context->frame, context->vcounter, context->hslot);
- if (!(context->regs[REG_DMASRC_H] & 0x80)) {
- //printf("DMA Address: %X, New CD: %X, Source: %X, Length: %X\n", context->address, context->cd, (context->regs[REG_DMASRC_H] << 17) | (context->regs[REG_DMASRC_M] << 9) | (context->regs[REG_DMASRC_L] << 1), context->regs[REG_DMALEN_H] << 8 | context->regs[REG_DMALEN_L]);
+ if (!(context->regs[REG_DMASRC_H] & 0x80) && ((context->cd & 0xF) == CRAM_WRITE)) {
+ printf("DMA Address: %X, New CD: %X, Source: %X, Length: %X\n", context->address, context->cd, (context->regs[REG_DMASRC_H] << 17) | (context->regs[REG_DMASRC_M] << 9) | (context->regs[REG_DMASRC_L] << 1), context->regs[REG_DMALEN_H] << 8 | context->regs[REG_DMALEN_L]);
return 1;
} else {
//printf("DMA Copy Address: %X, New CD: %X, Source: %X\n", context->address, context->cd, (context->regs[REG_DMASRC_M] << 8) | context->regs[REG_DMASRC_L]);