# HG changeset patch # User Mike Pavone # Date 1358223797 28800 # Node ID 1b4d856b067a0fc8f53a2e48af5720f9472709ce # Parent 4cb8a3891e264d58d2a6f9a2a7ba820cb05f736a Fixes for direct color dma stuff diff -r 4cb8a3891e26 -r 1b4d856b067a vdp.c --- a/vdp.c Mon Jan 14 02:13:14 2013 -0800 +++ b/vdp.c Mon Jan 14 20:23:17 2013 -0800 @@ -915,8 +915,10 @@ } else { linecyc = linecyc/20; //TODO: Figure out which slots are refresh when display is off in 32-cell mode + //These numbers are guesses based on H40 numbers + return (linecyc == 24 || linecyc == 56 || linecyc == 88 || linecyc == 120 || linecyc == 152 || (linecyc < 5 && (context->flags & FLAG_DMA_RUN) && ((context->dma_cd & 0xF) == CRAM_WRITE))); //The numbers below are the refresh slots during active display - return (linecyc == 66 || linecyc == 98 || linecyc == 130 || linecyc == 162); + //return (linecyc == 66 || linecyc == 98 || linecyc == 130 || linecyc == 162); } } @@ -937,7 +939,7 @@ linecyc /= 20; if (linecyc >= 43 && linecyc < 171) { uint32_t x = (linecyc-43)*2; - start = context->framebuf + line * 256 + x; + start = context->framebuf + line * 320 + x; end = start + 2; } }