Mercurial > repos > blastem
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); |