comparison genesis.c @ 1285:76e47254596b

Remove hacky post-DMA delay add proper pre-DMA delay based on logic analyzer capture. 512 color screen is a bit messed up but mostly works. Needs investigation
author Michael Pavone <pavone@retrodev.com>
date Sat, 18 Mar 2017 17:09:14 -0700
parents 1e7977460d18
children ca0383656a82
comparison
equal deleted inserted replaced
1284:82838d4c84d9 1285:76e47254596b
293 } 293 }
294 context->current_cycle += m68k_cycle_diff; 294 context->current_cycle += m68k_cycle_diff;
295 gen->bus_busy = 1; 295 gen->bus_busy = 1;
296 sync_components(context, 0); 296 sync_components(context, 0);
297 gen->bus_busy = 0; 297 gen->bus_busy = 0;
298 }
299 if (!(v_context->flags & FLAG_DMA_RUN)) {
300 //two more slots of delay are needed to kill sufficient sprite capacity in Overdrive
301 //TODO: Measure exact value with logic analyzer
302 vdp_run_context(v_context, v_context->cycles + 1);
303 vdp_run_context(v_context, v_context->cycles + 1);
304 } 298 }
305 } 299 }
306 300
307 if (blocked < 0) { 301 if (blocked < 0) {
308 blocked = vdp_control_port_write(v_context, value); 302 blocked = vdp_control_port_write(v_context, value);