From: Toni Wilen Date: Thu, 4 Apr 2024 16:54:56 +0000 (+0300) Subject: Delay OCS Denise blank "bug" by 3 CCKs. X-Git-Tag: 5300~48 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=4b0f50c1766e13aa5af6b5b80d364a08107e38b6;p=francis%2Fwinuae.git Delay OCS Denise blank "bug" by 3 CCKs. --- diff --git a/custom.cpp b/custom.cpp index 45fa372b..39d0cae3 100644 --- a/custom.cpp +++ b/custom.cpp @@ -6111,6 +6111,20 @@ static void finish_decisions(int hpos) } } +static void set_ocs_denise_blank(uae_u32 v) +{ + int hpos = current_hpos(); + sync_color_changes(hpos); + record_color_change2(hpos, 0, COLOR_CHANGE_BLANK | 1); +} +static void reset_ocs_denise_blank(uae_u32 v) +{ + int hpos = current_hpos(); + sync_color_changes(hpos); + record_color_change2(hpos, 0, COLOR_CHANGE_BLANK | 0); +} + + /* Set the state of all decisions to "undecided" for a new scanline. */ static void reset_decisions_scanline_start(void) { @@ -6149,15 +6163,15 @@ static void reset_decisions_scanline_start(void) if (!ecs_denise && currprefs.gfx_overscanmode > OVERSCANMODE_OVERSCAN) { if (!ecs_agnus) { if (vb_start_line == 2 + vblank_extraline) { - record_color_change2(0, 0, COLOR_CHANGE_BLANK | 1); + event2_newevent_xx(-1, 3 * CYCLE_UNIT, 0, set_ocs_denise_blank); } } else { if (vb_start_line == 1 + vblank_extraline) { - record_color_change2(0, 0, COLOR_CHANGE_BLANK | 1); + event2_newevent_xx(-1, 3 * CYCLE_UNIT, 0, set_ocs_denise_blank); } } if (vb_end_next_line2) { - record_color_change2(0, 0, COLOR_CHANGE_BLANK | 0); + event2_newevent_xx(-1, 3 * CYCLE_UNIT, 0, reset_ocs_denise_blank); } } @@ -13061,7 +13075,7 @@ static void hsync_handlerh(bool onvsync) estimate_last_fetch_cycle(hpos); if (vb_end_next_line && !ecs_denise && currprefs.gfx_overscanmode > OVERSCANMODE_OVERSCAN) { - record_color_change2(hpos, 0, COLOR_CHANGE_BLANK | 1); + event2_newevent_xx(-1, 3 * CYCLE_UNIT, 0, set_ocs_denise_blank); } eventtab[ev_hsynch].evtime = get_cycles() + HSYNCTIME;