Mercurial > repos > blastem
comparison sms.c @ 1371:5b20840711c1
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
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 23 May 2017 21:09:38 -0700 |
parents | 071e761bcdcf |
children | e587f16e7d3d |
comparison
equal
deleted
inserted
replaced
1370:eaca4443e831 | 1371:5b20840711c1 |
---|---|
79 | 79 |
80 static void *vdp_write(uint32_t location, void *vcontext, uint8_t value) | 80 static void *vdp_write(uint32_t location, void *vcontext, uint8_t value) |
81 { | 81 { |
82 z80_context *z80 = vcontext; | 82 z80_context *z80 = vcontext; |
83 sms_context *sms = z80->system; | 83 sms_context *sms = z80->system; |
84 vdp_run_context(sms->vdp, z80->current_cycle); | |
85 if (location & 1) { | 84 if (location & 1) { |
85 vdp_run_context_full(sms->vdp, z80->current_cycle); | |
86 vdp_control_port_write_pbc(sms->vdp, value); | 86 vdp_control_port_write_pbc(sms->vdp, value); |
87 update_interrupts(sms); | 87 update_interrupts(sms); |
88 } else { | 88 } else { |
89 vdp_run_context(sms->vdp, z80->current_cycle); | |
89 vdp_data_port_write_pbc(sms->vdp, value); | 90 vdp_data_port_write_pbc(sms->vdp, value); |
90 } | 91 } |
91 return vcontext; | 92 return vcontext; |
92 } | 93 } |
93 | 94 |