diff options
author | Michael Pavone <pavone@retrodev.com> | 2017-05-23 21:09:38 -0700 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2017-05-23 21:09:38 -0700 |
commit | d45cb844c7bd14bc7449b40f0b8153a139c070b0 (patch) | |
tree | 0ad30293a004da6cc35117f800881e6ffe73be50 /genesis.c | |
parent | 76b3c462c295537542370f50be6bfbf2dfa215b3 (diff) |
Remove HINT_FUDGE and make a small adjustment to how VDP syncs with rest of system instead. Worse results on CRAM dot issue, but much less of a hack
Diffstat (limited to 'genesis.c')
-rw-r--r-- | genesis.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -299,6 +299,7 @@ static m68k_context * vdp_port_write(uint32_t vdp_port, m68k_context * context, //context->current_cycle = v_context->cycles; } } else if(vdp_port < 8) { + vdp_run_context_full(v_context, context->current_cycle); blocked = vdp_control_port_write(v_context, value); if (blocked) { while (blocked) { @@ -373,10 +374,11 @@ static void * z80_vdp_port_write(uint32_t vdp_port, void * vcontext, uint8_t val } if (vdp_port < 0x10) { //These probably won't currently interact well with the 68K accessing the VDP - vdp_run_context(gen->vdp, context->current_cycle); if (vdp_port < 4) { + vdp_run_context(gen->vdp, context->current_cycle); vdp_data_port_write(gen->vdp, value << 8 | value); } else if (vdp_port < 8) { + vdp_run_context_full(gen->vdp, context->current_cycle); vdp_control_port_write(gen->vdp, value << 8 | value); } else { fatal_error("Illegal write to HV Counter port %X\n", vdp_port); |