# HG changeset patch # User Michael Pavone # Date 1485142832 28800 # Node ID 75ba222877f7760b01d83edcba9c983d65eb7f75 # Parent 448ce87b87fc6ad06e4ebaca440c20beae362a5f 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 diff -r 448ce87b87fc -r 75ba222877f7 gdb_remote.c --- a/gdb_remote.c Sun Jan 22 17:12:17 2017 -0800 +++ b/gdb_remote.c Sun Jan 22 19:40:32 2017 -0800 @@ -577,10 +577,10 @@ struct addrinfo request, *result; memset(&request, 0, sizeof(request)); - request.ai_family = AF_UNSPEC; + request.ai_family = AF_INET; request.ai_socktype = SOCK_STREAM; request.ai_flags = AI_PASSIVE; - getaddrinfo(NULL, "1234", &request, &result); + getaddrinfo("localhost", "1234", &request, &result); int listen_sock = socket(result->ai_family, result->ai_socktype, result->ai_protocol); if (listen_sock < 0) { diff -r 448ce87b87fc -r 75ba222877f7 vdp.c --- a/vdp.c Sun Jan 22 17:12:17 2017 -0800 +++ b/vdp.c Sun Jan 22 19:40:32 2017 -0800 @@ -2432,8 +2432,8 @@ 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]);