comparison vdp.c @ 1177:67e0462c30ce

Fix line advancement in Mode 4 during inactive display. Fix a Mode 4 VInt timing discrepency
author Michael Pavone <pavone@retrodev.com>
date Tue, 17 Jan 2017 09:18:16 -0800
parents 0e0386fa795c
children 24fc305396ee
comparison
equal deleted inserted replaced
1176:aa6e0914dcd7 1177:67e0462c30ce
2149 buf_clear_slot = 136; 2149 buf_clear_slot = 136;
2150 index_reset_slot = 253; 2150 index_reset_slot = 253;
2151 index_reset_value = 0; 2151 index_reset_value = 0;
2152 vint_line = context->inactive_start + 1; 2152 vint_line = context->inactive_start + 1;
2153 vint_slot = VINT_SLOT_MODE4; 2153 vint_slot = VINT_SLOT_MODE4;
2154 line_change = LINE_CHANGE_H40; 2154 line_change = LINE_CHANGE_MODE4;
2155 bg_color = render_map_color(0, 0, 0); 2155 bg_color = render_map_color(0, 0, 0);
2156 jump_start = 147; 2156 jump_start = 147;
2157 jump_dest = 233; 2157 jump_dest = 233;
2158 active_line = 0; 2158 active_line = 0;
2159 } 2159 }
2792 return context->cycles + (VINT_SLOT_H32 + 256 - context->hslot) * MCLKS_SLOT_H32; 2792 return context->cycles + (VINT_SLOT_H32 + 256 - context->hslot) * MCLKS_SLOT_H32;
2793 } 2793 }
2794 } 2794 }
2795 } 2795 }
2796 } else { 2796 } else {
2797 if (context->hslot >= LINE_CHANGE_H40) { 2797 if (context->hslot >= LINE_CHANGE_MODE4) {
2798 return context->cycles + (VINT_SLOT_MODE4 + 256 - context->hslot) * MCLKS_SLOT_H32; 2798 return context->cycles + (VINT_SLOT_MODE4 + 256 - context->hslot) * MCLKS_SLOT_H32;
2799 } 2799 }
2800 if (context->hslot <= VINT_SLOT_MODE4) { 2800 if (context->hslot <= VINT_SLOT_MODE4) {
2801 return context->cycles + (VINT_SLOT_MODE4 - context->hslot) * MCLKS_SLOT_H32; 2801 return context->cycles + (VINT_SLOT_MODE4 - context->hslot) * MCLKS_SLOT_H32;
2802 } 2802 }