From 48ef6d3b83f2901513edc2b7271728146c9fe047 Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Tue, 27 May 2025 19:03:08 +0300 Subject: [PATCH] Separate BPLCON1 comparison horizontal counter to "fix" hardware design flaw in non-accurate modes. --- drawing.cpp | 31 +- genlinetoscr.cpp | 18 +- linetoscr_aga_fm0.cpp | 3072 +++++++++---- linetoscr_aga_fm0_genlock.cpp | 1188 +++-- linetoscr_aga_fm1.cpp | 5112 +++++++++++++++------ linetoscr_aga_fm1_genlock.cpp | 2196 ++++++--- linetoscr_aga_fm2.cpp | 6696 ++++++++++++++++++++-------- linetoscr_aga_fm2_genlock.cpp | 2796 ++++++++---- linetoscr_ecs_shres.cpp | 42 +- linetoscr_ocs_ecs.cpp | 1568 +++++-- linetoscr_ocs_ecs_genlock.cpp | 640 ++- linetoscr_ocs_ecs_ntsc.cpp | 1568 +++++-- linetoscr_ocs_ecs_ntsc_genlock.cpp | 640 ++- 13 files changed, 18851 insertions(+), 6716 deletions(-) diff --git a/drawing.cpp b/drawing.cpp index ddb2fe46..af90f018 100644 --- a/drawing.cpp +++ b/drawing.cpp @@ -396,7 +396,7 @@ static LINETOSRC_FUNC lts; static bool lts_changed, lts_request; typedef void (*LINETOSRC_FUNCF)(int,int,int,int,int,int,int,int,int,uae_u32,uae_u8*,uae_u8*,int,int*,int,struct linestate*); -static int denise_hcounter, denise_hcounter_next, denise_hcounter_new, denise_hcounter_prev; +static int denise_hcounter, denise_hcounter_next, denise_hcounter_new, denise_hcounter_prev, denise_hcounter_cmp; static uae_u32 bplxdat[MAX_PLANES], bplxdat2[MAX_PLANES], bplxdat3[MAX_PLANES]; static uae_u64 bplxdat_64[MAX_PLANES], bplxdat2_64[MAX_PLANES], bplxdat3_64[MAX_PLANES]; static uae_u16 bplcon0_denise, bplcon1_denise, bplcon2_denise, bplcon3_denise, bplcon4_denise; @@ -4459,6 +4459,10 @@ static void do_hb(void) static void do_hbstrt(int cnt) { + // move denise hcounter used to match BPLCON1 reset in HB start to hide the glitch in right edge + if (!denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter; + } denise_hblank = true; if (!exthblankon_ecs) { hbstrt_offset = internal_pixel_cnt; @@ -4700,6 +4704,7 @@ static void denise_handle_quick_strobe(uae_u16 strobe, int offset, int vpos) denise_hcounter_new += maxhpos * 2; denise_hcounter_new &= 511; denise_hcounter = denise_hcounter_new; + denise_hcounter_cmp = denise_hcounter; //write_log("%d %04x %d %d\n", vpos, strobe, offset, denise_hcounter_new); @@ -4708,6 +4713,7 @@ static void denise_handle_quick_strobe(uae_u16 strobe, int offset, int vpos) // 3 = refresh offset, 2 = pipeline delay denise_hcounter_new = (offset - 3 - 2) * 2 + 2; denise_hcounter = denise_hcounter_new; + denise_hcounter_cmp = denise_hcounter; check_fast_hb(); } } @@ -5311,6 +5317,8 @@ static void lts_null(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5321,6 +5329,9 @@ static void lts_null(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter; + } denise_cck++; } } @@ -5498,6 +5509,9 @@ static void draw_denise_line(int gfx_ypos, enum nln_how how, uae_u32 linecnt, in if (startcycle == 0) { get_line(gfx_ypos, how); + + //write_log("# %d %d\n", gfx_ypos, vpos); + denise_hcounter_prev = -1; hbstrt_offset = -1; hbstop_offset = -1; @@ -5538,6 +5552,8 @@ static void draw_denise_line(int gfx_ypos, enum nln_how how, uae_u32 linecnt, in #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5554,6 +5570,7 @@ static void draw_denise_line(int gfx_ypos, enum nln_how how, uae_u32 linecnt, in #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5562,6 +5579,9 @@ static void draw_denise_line(int gfx_ypos, enum nln_how how, uae_u32 linecnt, in } denise_pixtotal++; denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter; + } denise_cck++; } lts_changed = false; @@ -5590,6 +5610,8 @@ static void draw_denise_line(int gfx_ypos, enum nln_how how, uae_u32 linecnt, in spr_nearest(); } + //write_log("- %d\n", vpos); + while (denise_cck < denise_endcycle) { lts(); lts_changed = false; @@ -6173,6 +6195,8 @@ static void lts_unaligned_aga(int cnt, int cnt_next, int h) *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6359,7 +6383,7 @@ static void lts_unaligned_ecs(int cnt, int cnt_next, int h) internal_pixel_cnt++; } - int dhv = denise_hcounter & bplcon1_shift_mask; + int dhv = denise_hcounter_cmp & bplcon1_shift_mask; if (bplcon1_shift[0] == bplcon1_shift[1]) { // both even and odd planes copy if (bpldat_copy[0] && dhv == bplcon1_shift[0]) { @@ -6382,6 +6406,7 @@ static void lts_unaligned_ecs(int cnt, int cnt_next, int h) *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6697,6 +6722,8 @@ void draw_denise_bitplane_line_fast(int gfx_ypos, enum nln_how how, struct lines } get_line(gfx_ypos, how); + + //write_log("* %d %d\n", gfx_ypos, vpos); if (!buf1 && !ls->blankedline && denise_planes > 0) { resolution_count[denise_res]++; diff --git a/genlinetoscr.cpp b/genlinetoscr.cpp index b2be05b8..f9113500 100644 --- a/genlinetoscr.cpp +++ b/genlinetoscr.cpp @@ -410,14 +410,14 @@ static void gen_copybpl(void) { if (oddeven) { // bitplane shifter shifting - outf("if (bpldat_copy[0] && (denise_hcounter & %d) == bplcon1_shift[0]) { ", ((16 << bplfmode) >> res) - 1); + outf("if (bpldat_copy[0] && (denise_hcounter_cmp & %d) == bplcon1_shift[0]) { ", ((16 << bplfmode) >> res) - 1); if (bplfmode == 2) { outf("copybpl%de_64();", planes); } else { outf("copybpl%de();", planes); } outf("}"); - outf("if (bpldat_copy[1] && (denise_hcounter & %d) == bplcon1_shift[1]) {", ((16 << bplfmode) >> res) - 1); + outf("if (bpldat_copy[1] && (denise_hcounter_cmp & %d) == bplcon1_shift[1]) {", ((16 << bplfmode) >> res) - 1); if (bplfmode == 2) { outf("copybpl%do_64();", planes); } else { @@ -426,7 +426,7 @@ static void gen_copybpl(void) outf("}"); } else { // bitplane shifter shifting - outf("if (bpldat_copy[0] && (denise_hcounter & %d) == bplcon1_shift[0]) { ", ((16 << bplfmode) >> res) - 1); + outf("if (bpldat_copy[0] && (denise_hcounter_cmp & %d) == bplcon1_shift[0]) { ", ((16 << bplfmode) >> res) - 1); if (bplfmode == 2) { outf("copybpl%d_64();", planes); } else { @@ -446,7 +446,7 @@ static void gen_copybpl_hr(int add) } if (oddeven) { // bitplane shifter shifting - outf("if (bpldat_copy[0] && ((cnt | %d) & %d) == bplcon1_shift_full_masked[0]) { ", add, (((16 << bplfmode) >> res) << 2) - 1); + outf("if (bpldat_copy[0] && ((cmp | %d) & %d) == bplcon1_shift_full_masked[0]) { ", add, (((16 << bplfmode) >> res) << 2) - 1); if (bplfmode == 2) { outf("copybpl%de_64();", planes); } else { @@ -457,7 +457,7 @@ static void gen_copybpl_hr(int add) gen_getbpl(0, maxplanes); } outf("}"); - outf("if (bpldat_copy[1] && ((cnt | %d) & %d) == bplcon1_shift_full_masked[1]) {", add, (((16 << bplfmode) >> res) << 2) - 1); + outf("if (bpldat_copy[1] && ((cmp | %d) & %d) == bplcon1_shift_full_masked[1]) {", add, (((16 << bplfmode) >> res) << 2) - 1); if (bplfmode == 2) { outf("copybpl%do_64();", planes); } else { @@ -470,7 +470,7 @@ static void gen_copybpl_hr(int add) outf("}"); } else { // bitplane shifter shifting - outf("if (bpldat_copy[0] && ((cnt | %d) & %d) == bplcon1_shift_full_masked[0]) { ", add, (((16 << bplfmode) >> res) << 2) - 1); + outf("if (bpldat_copy[0] && ((cmp | %d) & %d) == bplcon1_shift_full_masked[0]) { ", add, (((16 << bplfmode) >> res) << 2) - 1); if (bplfmode == 2) { outf("copybpl%d_64();", planes); } else { @@ -835,6 +835,7 @@ static void gen_init(void) if (aga) { outf("int cnt = denise_hcounter << 2;"); outf("int cnt_next = denise_hcounter_next << 2;"); + outf("int cmp = denise_hcounter_cmp << 2;"); } else { outf("int cnt = denise_hcounter << 2;"); } @@ -1261,6 +1262,8 @@ static void gen_end(void) outf("#ifdef DEBUGGER"); outf(" *debug_dma_dhpos_odd = denise_hcounter;"); outf("#endif"); + outf(" denise_hcounter_cmp++;"); + outf(" denise_hcounter_cmp &= 511;"); outf(" denise_hcounter++;"); outf(" denise_hcounter &= 511;"); outf(" denise_hcounter_next++;"); @@ -1271,6 +1274,9 @@ static void gen_end(void) outf(" internal_pixel_start_cnt = internal_pixel_cnt;"); outf(" }"); outf(" denise_hcounter = denise_hcounter_new;"); + outf(" if (denise_accurate_mode) {"); + outf(" denise_hcounter_cmp = denise_hcounter_new;"); + outf(" }"); outf(" denise_cck++;"); outf(" }"); } diff --git a/linetoscr_aga_fm0.cpp b/linetoscr_aga_fm0.cpp index 9b844970..3607ebbe 100644 --- a/linetoscr_aga_fm0.cpp +++ b/linetoscr_aga_fm0.cpp @@ -15,6 +15,7 @@ static void lts_aga_fm0_n0_p2_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -28,7 +29,7 @@ static void lts_aga_fm0_n0_p2_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -49,6 +50,8 @@ static void lts_aga_fm0_n0_p2_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -59,6 +62,9 @@ static void lts_aga_fm0_n0_p2_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -77,6 +83,7 @@ static void lts_aga_fm0_n1_p2_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -90,10 +97,10 @@ static void lts_aga_fm0_n1_p2_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -114,6 +121,8 @@ static void lts_aga_fm0_n1_p2_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -124,6 +133,9 @@ static void lts_aga_fm0_n1_p2_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -142,6 +154,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -160,7 +173,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -181,6 +194,8 @@ static void lts_aga_fm0_dpf0_p2_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -191,6 +206,9 @@ static void lts_aga_fm0_dpf0_p2_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -209,6 +227,7 @@ static void lts_aga_fm0_dpf1_p2_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -227,10 +246,10 @@ static void lts_aga_fm0_dpf1_p2_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -251,6 +270,8 @@ static void lts_aga_fm0_dpf1_p2_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -261,6 +282,9 @@ static void lts_aga_fm0_dpf1_p2_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -327,6 +351,7 @@ static void lts_aga_fm0_n0_p4_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -340,7 +365,7 @@ static void lts_aga_fm0_n0_p4_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -361,6 +386,8 @@ static void lts_aga_fm0_n0_p4_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -371,6 +398,9 @@ static void lts_aga_fm0_n0_p4_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -389,6 +419,7 @@ static void lts_aga_fm0_n1_p4_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -402,10 +433,10 @@ static void lts_aga_fm0_n1_p4_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -426,6 +457,8 @@ static void lts_aga_fm0_n1_p4_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -436,6 +469,9 @@ static void lts_aga_fm0_n1_p4_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -454,6 +490,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -472,7 +509,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -493,6 +530,8 @@ static void lts_aga_fm0_dpf0_p4_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -503,6 +542,9 @@ static void lts_aga_fm0_dpf0_p4_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -521,6 +563,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -539,10 +582,10 @@ static void lts_aga_fm0_dpf1_p4_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -563,6 +606,8 @@ static void lts_aga_fm0_dpf1_p4_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -573,6 +618,9 @@ static void lts_aga_fm0_dpf1_p4_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -639,6 +687,7 @@ static void lts_aga_fm0_n0_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -652,7 +701,7 @@ static void lts_aga_fm0_n0_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6(); @@ -673,6 +722,8 @@ static void lts_aga_fm0_n0_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -683,6 +734,9 @@ static void lts_aga_fm0_n0_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -701,6 +755,7 @@ static void lts_aga_fm0_n1_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -714,10 +769,10 @@ static void lts_aga_fm0_n1_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6(); @@ -738,6 +793,8 @@ static void lts_aga_fm0_n1_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -748,6 +805,9 @@ static void lts_aga_fm0_n1_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -766,6 +826,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -784,7 +845,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6(); @@ -805,6 +866,8 @@ static void lts_aga_fm0_dpf0_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -815,6 +878,9 @@ static void lts_aga_fm0_dpf0_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -833,6 +899,7 @@ static void lts_aga_fm0_dpf1_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -851,10 +918,10 @@ static void lts_aga_fm0_dpf1_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6(); @@ -875,6 +942,8 @@ static void lts_aga_fm0_dpf1_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -885,6 +954,9 @@ static void lts_aga_fm0_dpf1_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -903,6 +975,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -922,7 +995,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6(); @@ -943,6 +1016,8 @@ static void lts_aga_fm0_ehb0_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -953,6 +1028,9 @@ static void lts_aga_fm0_ehb0_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -971,6 +1049,7 @@ static void lts_aga_fm0_ehb1_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -990,10 +1069,10 @@ static void lts_aga_fm0_ehb1_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6(); @@ -1014,6 +1093,8 @@ static void lts_aga_fm0_ehb1_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1024,6 +1105,9 @@ static void lts_aga_fm0_ehb1_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1042,6 +1126,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1055,7 +1140,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6(); @@ -1076,6 +1161,8 @@ static void lts_aga_fm0_ham0_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1086,6 +1173,9 @@ static void lts_aga_fm0_ham0_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1104,6 +1194,7 @@ static void lts_aga_fm0_ham1_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1117,10 +1208,10 @@ static void lts_aga_fm0_ham1_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6(); @@ -1141,6 +1232,8 @@ static void lts_aga_fm0_ham1_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1151,6 +1244,9 @@ static void lts_aga_fm0_ham1_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1169,6 +1265,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1183,7 +1280,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6(); @@ -1204,6 +1301,8 @@ static void lts_aga_fm0_kehb0_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1214,6 +1313,9 @@ static void lts_aga_fm0_kehb0_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1232,6 +1334,7 @@ static void lts_aga_fm0_kehb1_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1246,10 +1349,10 @@ static void lts_aga_fm0_kehb1_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6(); @@ -1270,6 +1373,8 @@ static void lts_aga_fm0_kehb1_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1280,6 +1385,9 @@ static void lts_aga_fm0_kehb1_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1298,6 +1406,7 @@ static void lts_aga_fm0_n0_p8_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1311,7 +1420,7 @@ static void lts_aga_fm0_n0_p8_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8(); @@ -1332,6 +1441,8 @@ static void lts_aga_fm0_n0_p8_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1342,6 +1453,9 @@ static void lts_aga_fm0_n0_p8_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1360,6 +1474,7 @@ static void lts_aga_fm0_n1_p8_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1373,10 +1488,10 @@ static void lts_aga_fm0_n1_p8_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8(); @@ -1397,6 +1512,8 @@ static void lts_aga_fm0_n1_p8_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1407,6 +1524,9 @@ static void lts_aga_fm0_n1_p8_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1425,6 +1545,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1443,7 +1564,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8(); @@ -1464,6 +1585,8 @@ static void lts_aga_fm0_dpf0_p8_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1474,6 +1597,9 @@ static void lts_aga_fm0_dpf0_p8_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1492,6 +1618,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1510,10 +1637,10 @@ static void lts_aga_fm0_dpf1_p8_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8(); @@ -1534,6 +1661,8 @@ static void lts_aga_fm0_dpf1_p8_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1544,6 +1673,9 @@ static void lts_aga_fm0_dpf1_p8_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1578,6 +1710,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1591,7 +1724,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8(); @@ -1612,6 +1745,8 @@ static void lts_aga_fm0_ham0_p8_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1622,6 +1757,9 @@ static void lts_aga_fm0_ham0_p8_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1640,6 +1778,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1653,10 +1792,10 @@ static void lts_aga_fm0_ham1_p8_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8(); @@ -1677,6 +1816,8 @@ static void lts_aga_fm0_ham1_p8_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1687,6 +1828,9 @@ static void lts_aga_fm0_ham1_p8_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1721,6 +1865,7 @@ static void lts_aga_fm0_n0_p2_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1735,7 +1880,7 @@ static void lts_aga_fm0_n0_p2_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -1770,6 +1915,8 @@ static void lts_aga_fm0_n0_p2_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1780,6 +1927,9 @@ static void lts_aga_fm0_n0_p2_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1798,6 +1948,7 @@ static void lts_aga_fm0_n1_p2_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1812,10 +1963,10 @@ static void lts_aga_fm0_n1_p2_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -1850,6 +2001,8 @@ static void lts_aga_fm0_n1_p2_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1860,6 +2013,9 @@ static void lts_aga_fm0_n1_p2_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1878,6 +2034,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1897,7 +2054,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -1932,6 +2089,8 @@ static void lts_aga_fm0_dpf0_p2_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1942,6 +2101,9 @@ static void lts_aga_fm0_dpf0_p2_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1960,6 +2122,7 @@ static void lts_aga_fm0_dpf1_p2_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1979,10 +2142,10 @@ static void lts_aga_fm0_dpf1_p2_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -2017,6 +2180,8 @@ static void lts_aga_fm0_dpf1_p2_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2027,6 +2192,9 @@ static void lts_aga_fm0_dpf1_p2_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2093,6 +2261,7 @@ static void lts_aga_fm0_n0_p4_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2107,7 +2276,7 @@ static void lts_aga_fm0_n0_p4_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -2142,6 +2311,8 @@ static void lts_aga_fm0_n0_p4_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2152,6 +2323,9 @@ static void lts_aga_fm0_n0_p4_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2170,6 +2344,7 @@ static void lts_aga_fm0_n1_p4_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2184,10 +2359,10 @@ static void lts_aga_fm0_n1_p4_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -2222,6 +2397,8 @@ static void lts_aga_fm0_n1_p4_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2232,6 +2409,9 @@ static void lts_aga_fm0_n1_p4_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2250,6 +2430,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2269,7 +2450,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -2304,6 +2485,8 @@ static void lts_aga_fm0_dpf0_p4_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2314,6 +2497,9 @@ static void lts_aga_fm0_dpf0_p4_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2332,6 +2518,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2351,10 +2538,10 @@ static void lts_aga_fm0_dpf1_p4_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -2389,6 +2576,8 @@ static void lts_aga_fm0_dpf1_p4_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2399,6 +2588,9 @@ static void lts_aga_fm0_dpf1_p4_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2465,6 +2657,7 @@ static void lts_aga_fm0_n0_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2479,7 +2672,7 @@ static void lts_aga_fm0_n0_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6(); @@ -2514,6 +2707,8 @@ static void lts_aga_fm0_n0_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2524,6 +2719,9 @@ static void lts_aga_fm0_n0_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2542,6 +2740,7 @@ static void lts_aga_fm0_n1_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2556,10 +2755,10 @@ static void lts_aga_fm0_n1_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6(); @@ -2594,6 +2793,8 @@ static void lts_aga_fm0_n1_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2604,6 +2805,9 @@ static void lts_aga_fm0_n1_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2622,6 +2826,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2641,7 +2846,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6(); @@ -2676,6 +2881,8 @@ static void lts_aga_fm0_dpf0_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2686,6 +2893,9 @@ static void lts_aga_fm0_dpf0_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2704,6 +2914,7 @@ static void lts_aga_fm0_dpf1_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2723,10 +2934,10 @@ static void lts_aga_fm0_dpf1_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6(); @@ -2761,6 +2972,8 @@ static void lts_aga_fm0_dpf1_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2771,6 +2984,9 @@ static void lts_aga_fm0_dpf1_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2789,6 +3005,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2809,7 +3026,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6(); @@ -2844,6 +3061,8 @@ static void lts_aga_fm0_ehb0_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2854,6 +3073,9 @@ static void lts_aga_fm0_ehb0_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2872,6 +3094,7 @@ static void lts_aga_fm0_ehb1_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2892,10 +3115,10 @@ static void lts_aga_fm0_ehb1_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6(); @@ -2930,6 +3153,8 @@ static void lts_aga_fm0_ehb1_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2940,6 +3165,9 @@ static void lts_aga_fm0_ehb1_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2958,6 +3186,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2972,7 +3201,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6(); @@ -3007,6 +3236,8 @@ static void lts_aga_fm0_ham0_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3017,6 +3248,9 @@ static void lts_aga_fm0_ham0_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3035,6 +3269,7 @@ static void lts_aga_fm0_ham1_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3049,10 +3284,10 @@ static void lts_aga_fm0_ham1_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6(); @@ -3087,6 +3322,8 @@ static void lts_aga_fm0_ham1_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3097,6 +3334,9 @@ static void lts_aga_fm0_ham1_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3115,6 +3355,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3130,7 +3371,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6(); @@ -3165,6 +3406,8 @@ static void lts_aga_fm0_kehb0_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3175,6 +3418,9 @@ static void lts_aga_fm0_kehb0_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3193,6 +3439,7 @@ static void lts_aga_fm0_kehb1_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3208,10 +3455,10 @@ static void lts_aga_fm0_kehb1_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6(); @@ -3246,6 +3493,8 @@ static void lts_aga_fm0_kehb1_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3256,6 +3505,9 @@ static void lts_aga_fm0_kehb1_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3274,6 +3526,7 @@ static void lts_aga_fm0_n0_p8_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3288,7 +3541,7 @@ static void lts_aga_fm0_n0_p8_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8(); @@ -3323,6 +3576,8 @@ static void lts_aga_fm0_n0_p8_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3333,6 +3588,9 @@ static void lts_aga_fm0_n0_p8_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3351,6 +3609,7 @@ static void lts_aga_fm0_n1_p8_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3365,10 +3624,10 @@ static void lts_aga_fm0_n1_p8_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8(); @@ -3403,6 +3662,8 @@ static void lts_aga_fm0_n1_p8_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3413,6 +3674,9 @@ static void lts_aga_fm0_n1_p8_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3431,6 +3695,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3450,7 +3715,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8(); @@ -3485,6 +3750,8 @@ static void lts_aga_fm0_dpf0_p8_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3495,6 +3762,9 @@ static void lts_aga_fm0_dpf0_p8_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3513,6 +3783,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3532,10 +3803,10 @@ static void lts_aga_fm0_dpf1_p8_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8(); @@ -3570,6 +3841,8 @@ static void lts_aga_fm0_dpf1_p8_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3580,6 +3853,9 @@ static void lts_aga_fm0_dpf1_p8_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3614,6 +3890,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3628,7 +3905,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8(); @@ -3663,6 +3940,8 @@ static void lts_aga_fm0_ham0_p8_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3673,6 +3952,9 @@ static void lts_aga_fm0_ham0_p8_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3691,6 +3973,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3705,10 +3988,10 @@ static void lts_aga_fm0_ham1_p8_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8(); @@ -3743,6 +4026,8 @@ static void lts_aga_fm0_ham1_p8_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3753,6 +4038,9 @@ static void lts_aga_fm0_ham1_p8_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3787,6 +4075,7 @@ static void lts_aga_fm0_n0_p2_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -3800,7 +4089,7 @@ static void lts_aga_fm0_n0_p2_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -3822,6 +4111,8 @@ static void lts_aga_fm0_n0_p2_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3832,6 +4123,9 @@ static void lts_aga_fm0_n0_p2_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3846,6 +4140,7 @@ static void lts_aga_fm0_n0_p2_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -3859,7 +4154,7 @@ static void lts_aga_fm0_n0_p2_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -3876,7 +4171,7 @@ static void lts_aga_fm0_n0_p2_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -3898,6 +4193,8 @@ static void lts_aga_fm0_n0_p2_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3908,6 +4205,9 @@ static void lts_aga_fm0_n0_p2_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3922,6 +4222,7 @@ static void lts_aga_fm0_n1_p2_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -3935,10 +4236,10 @@ static void lts_aga_fm0_n1_p2_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -3960,6 +4261,8 @@ static void lts_aga_fm0_n1_p2_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3970,6 +4273,9 @@ static void lts_aga_fm0_n1_p2_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3984,6 +4290,7 @@ static void lts_aga_fm0_n1_p2_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -3997,10 +4304,10 @@ static void lts_aga_fm0_n1_p2_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -4017,10 +4324,10 @@ static void lts_aga_fm0_n1_p2_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -4042,6 +4349,8 @@ static void lts_aga_fm0_n1_p2_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4052,6 +4361,9 @@ static void lts_aga_fm0_n1_p2_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4066,6 +4378,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4084,7 +4397,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -4106,6 +4419,8 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4116,6 +4431,9 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4130,6 +4448,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4148,7 +4467,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -4170,7 +4489,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -4192,6 +4511,8 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4202,6 +4523,9 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4216,6 +4540,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4234,10 +4559,10 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -4259,6 +4584,8 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4269,6 +4596,9 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4283,6 +4613,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4301,10 +4632,10 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -4326,10 +4657,10 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -4351,6 +4682,8 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4361,6 +4694,9 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4423,6 +4759,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4436,7 +4773,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -4458,6 +4795,8 @@ static void lts_aga_fm0_n0_p4_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4468,6 +4807,9 @@ static void lts_aga_fm0_n0_p4_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4482,6 +4824,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4495,7 +4838,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -4512,7 +4855,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -4534,6 +4877,8 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4544,6 +4889,9 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4558,6 +4906,7 @@ static void lts_aga_fm0_n1_p4_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4571,10 +4920,10 @@ static void lts_aga_fm0_n1_p4_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -4596,6 +4945,8 @@ static void lts_aga_fm0_n1_p4_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4606,6 +4957,9 @@ static void lts_aga_fm0_n1_p4_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4620,6 +4974,7 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4633,10 +4988,10 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -4653,10 +5008,10 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -4678,6 +5033,8 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4688,6 +5045,9 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4702,6 +5062,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4720,7 +5081,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -4742,6 +5103,8 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4752,6 +5115,9 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4766,6 +5132,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4784,7 +5151,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -4806,7 +5173,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -4828,6 +5195,8 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4838,6 +5207,9 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4852,6 +5224,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4870,10 +5243,10 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -4895,6 +5268,8 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4905,6 +5280,9 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4919,6 +5297,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4937,10 +5316,10 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -4962,10 +5341,10 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -4987,6 +5366,8 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4997,6 +5378,9 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5219,6 +5603,7 @@ static void lts_aga_fm0_n0_p2_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5233,7 +5618,7 @@ static void lts_aga_fm0_n0_p2_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -5269,6 +5654,8 @@ static void lts_aga_fm0_n0_p2_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5279,6 +5666,9 @@ static void lts_aga_fm0_n0_p2_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5293,6 +5683,7 @@ static void lts_aga_fm0_n0_p2_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5307,7 +5698,7 @@ static void lts_aga_fm0_n0_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -5332,7 +5723,7 @@ static void lts_aga_fm0_n0_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -5361,6 +5752,8 @@ static void lts_aga_fm0_n0_p2_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5371,6 +5764,9 @@ static void lts_aga_fm0_n0_p2_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5385,6 +5781,7 @@ static void lts_aga_fm0_n1_p2_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5399,10 +5796,10 @@ static void lts_aga_fm0_n1_p2_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -5438,6 +5835,8 @@ static void lts_aga_fm0_n1_p2_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5448,6 +5847,9 @@ static void lts_aga_fm0_n1_p2_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5462,6 +5864,7 @@ static void lts_aga_fm0_n1_p2_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5476,10 +5879,10 @@ static void lts_aga_fm0_n1_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -5504,10 +5907,10 @@ static void lts_aga_fm0_n1_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -5536,6 +5939,8 @@ static void lts_aga_fm0_n1_p2_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5546,6 +5951,9 @@ static void lts_aga_fm0_n1_p2_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5560,6 +5968,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5579,7 +5988,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -5615,6 +6024,8 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5625,6 +6036,9 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5639,6 +6053,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5658,7 +6073,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -5688,7 +6103,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -5717,6 +6132,8 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5727,6 +6144,9 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5741,6 +6161,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5760,10 +6181,10 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -5799,6 +6220,8 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5809,6 +6232,9 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5823,6 +6249,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5842,10 +6269,10 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -5875,10 +6302,10 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -5907,6 +6334,8 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5917,6 +6346,9 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5979,6 +6411,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5993,7 +6426,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -6029,6 +6462,8 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6039,6 +6474,9 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6053,6 +6491,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -6067,7 +6506,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -6092,7 +6531,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -6121,6 +6560,8 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6131,6 +6572,9 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6145,6 +6589,7 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -6159,10 +6604,10 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -6198,6 +6643,8 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6208,6 +6655,9 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6222,6 +6672,7 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -6236,10 +6687,10 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -6264,10 +6715,10 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -6296,6 +6747,8 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6306,6 +6759,9 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6320,6 +6776,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -6339,7 +6796,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -6375,6 +6832,8 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6385,6 +6844,9 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6399,6 +6861,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -6418,7 +6881,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -6448,7 +6911,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -6477,6 +6940,8 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6487,6 +6952,9 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6501,6 +6969,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -6520,10 +6989,10 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -6559,6 +7028,8 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6569,6 +7040,9 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6583,6 +7057,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -6602,10 +7077,10 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -6635,10 +7110,10 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -6667,6 +7142,8 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6677,6 +7154,9 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7539,6 +8019,7 @@ static void lts_aga_fm0_n0_p2_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -7557,7 +8038,7 @@ static void lts_aga_fm0_n0_p2_ilores_dhires(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -7581,7 +8062,7 @@ static void lts_aga_fm0_n0_p2_ilores_dhires(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -7612,6 +8093,8 @@ static void lts_aga_fm0_n0_p2_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7622,6 +8105,9 @@ static void lts_aga_fm0_n0_p2_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7640,6 +8126,7 @@ static void lts_aga_fm0_n1_p2_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -7664,12 +8151,12 @@ static void lts_aga_fm0_n1_p2_ilores_dhires(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -7699,12 +8186,12 @@ static void lts_aga_fm0_n1_p2_ilores_dhires(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -7735,6 +8222,8 @@ static void lts_aga_fm0_n1_p2_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7745,6 +8234,9 @@ static void lts_aga_fm0_n1_p2_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7763,6 +8255,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -7786,7 +8279,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dhires(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -7815,7 +8308,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dhires(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -7846,6 +8339,8 @@ static void lts_aga_fm0_dpf0_p2_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7856,6 +8351,9 @@ static void lts_aga_fm0_dpf0_p2_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7874,6 +8372,7 @@ static void lts_aga_fm0_dpf1_p2_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -7903,12 +8402,12 @@ static void lts_aga_fm0_dpf1_p2_ilores_dhires(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -7943,12 +8442,12 @@ static void lts_aga_fm0_dpf1_p2_ilores_dhires(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -7979,6 +8478,8 @@ static void lts_aga_fm0_dpf1_p2_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7989,6 +8490,9 @@ static void lts_aga_fm0_dpf1_p2_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8055,6 +8559,7 @@ static void lts_aga_fm0_n0_p4_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -8073,7 +8578,7 @@ static void lts_aga_fm0_n0_p4_ilores_dhires(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -8097,7 +8602,7 @@ static void lts_aga_fm0_n0_p4_ilores_dhires(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -8128,6 +8633,8 @@ static void lts_aga_fm0_n0_p4_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8138,6 +8645,9 @@ static void lts_aga_fm0_n0_p4_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8156,6 +8666,7 @@ static void lts_aga_fm0_n1_p4_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -8180,12 +8691,12 @@ static void lts_aga_fm0_n1_p4_ilores_dhires(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -8215,12 +8726,12 @@ static void lts_aga_fm0_n1_p4_ilores_dhires(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -8251,6 +8762,8 @@ static void lts_aga_fm0_n1_p4_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8261,6 +8774,9 @@ static void lts_aga_fm0_n1_p4_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8279,6 +8795,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -8302,7 +8819,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -8331,7 +8848,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -8362,6 +8879,8 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8372,6 +8891,9 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8390,6 +8912,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -8419,12 +8942,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -8459,12 +8982,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -8495,6 +9018,8 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8505,6 +9030,9 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8571,6 +9099,7 @@ static void lts_aga_fm0_n0_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -8589,7 +9118,7 @@ static void lts_aga_fm0_n0_p6_ilores_dhires(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -8613,7 +9142,7 @@ static void lts_aga_fm0_n0_p6_ilores_dhires(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -8644,6 +9173,8 @@ static void lts_aga_fm0_n0_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8654,6 +9185,9 @@ static void lts_aga_fm0_n0_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8672,6 +9206,7 @@ static void lts_aga_fm0_n1_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -8696,12 +9231,12 @@ static void lts_aga_fm0_n1_p6_ilores_dhires(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -8731,12 +9266,12 @@ static void lts_aga_fm0_n1_p6_ilores_dhires(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -8767,6 +9302,8 @@ static void lts_aga_fm0_n1_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8777,6 +9314,9 @@ static void lts_aga_fm0_n1_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8795,6 +9335,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -8818,7 +9359,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dhires(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -8847,7 +9388,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dhires(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -8878,6 +9419,8 @@ static void lts_aga_fm0_dpf0_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8888,6 +9431,9 @@ static void lts_aga_fm0_dpf0_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8906,6 +9452,7 @@ static void lts_aga_fm0_dpf1_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -8935,12 +9482,12 @@ static void lts_aga_fm0_dpf1_p6_ilores_dhires(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -8975,12 +9522,12 @@ static void lts_aga_fm0_dpf1_p6_ilores_dhires(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -9011,6 +9558,8 @@ static void lts_aga_fm0_dpf1_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9021,6 +9570,9 @@ static void lts_aga_fm0_dpf1_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9039,6 +9591,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -9063,7 +9616,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dhires(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -9093,7 +9646,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dhires(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -9124,6 +9677,8 @@ static void lts_aga_fm0_ehb0_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9134,6 +9689,9 @@ static void lts_aga_fm0_ehb0_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9152,6 +9710,7 @@ static void lts_aga_fm0_ehb1_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -9182,12 +9741,12 @@ static void lts_aga_fm0_ehb1_p6_ilores_dhires(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -9223,12 +9782,12 @@ static void lts_aga_fm0_ehb1_p6_ilores_dhires(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -9259,6 +9818,8 @@ static void lts_aga_fm0_ehb1_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9269,6 +9830,9 @@ static void lts_aga_fm0_ehb1_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9287,6 +9851,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -9305,7 +9870,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dhires(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -9329,7 +9894,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dhires(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -9360,6 +9925,8 @@ static void lts_aga_fm0_ham0_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9370,6 +9937,9 @@ static void lts_aga_fm0_ham0_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9388,6 +9958,7 @@ static void lts_aga_fm0_ham1_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -9412,12 +9983,12 @@ static void lts_aga_fm0_ham1_p6_ilores_dhires(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -9447,12 +10018,12 @@ static void lts_aga_fm0_ham1_p6_ilores_dhires(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -9483,6 +10054,8 @@ static void lts_aga_fm0_ham1_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9493,6 +10066,9 @@ static void lts_aga_fm0_ham1_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9511,6 +10087,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -9530,7 +10107,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dhires(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -9555,7 +10132,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dhires(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -9586,6 +10163,8 @@ static void lts_aga_fm0_kehb0_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9596,6 +10175,9 @@ static void lts_aga_fm0_kehb0_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9614,6 +10196,7 @@ static void lts_aga_fm0_kehb1_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -9639,12 +10222,12 @@ static void lts_aga_fm0_kehb1_p6_ilores_dhires(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -9675,12 +10258,12 @@ static void lts_aga_fm0_kehb1_p6_ilores_dhires(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -9711,6 +10294,8 @@ static void lts_aga_fm0_kehb1_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9721,6 +10306,9 @@ static void lts_aga_fm0_kehb1_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9739,6 +10327,7 @@ static void lts_aga_fm0_n0_p8_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -9757,7 +10346,7 @@ static void lts_aga_fm0_n0_p8_ilores_dhires(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -9781,7 +10370,7 @@ static void lts_aga_fm0_n0_p8_ilores_dhires(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -9812,6 +10401,8 @@ static void lts_aga_fm0_n0_p8_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9822,6 +10413,9 @@ static void lts_aga_fm0_n0_p8_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9840,6 +10434,7 @@ static void lts_aga_fm0_n1_p8_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -9864,12 +10459,12 @@ static void lts_aga_fm0_n1_p8_ilores_dhires(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -9899,12 +10494,12 @@ static void lts_aga_fm0_n1_p8_ilores_dhires(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -9935,6 +10530,8 @@ static void lts_aga_fm0_n1_p8_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9945,6 +10542,9 @@ static void lts_aga_fm0_n1_p8_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9963,6 +10563,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -9986,7 +10587,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -10015,7 +10616,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -10046,6 +10647,8 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10056,6 +10659,9 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10074,6 +10680,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -10103,12 +10710,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -10143,12 +10750,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -10179,6 +10786,8 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10189,6 +10798,9 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10223,6 +10835,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -10241,7 +10854,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -10265,7 +10878,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -10296,6 +10909,8 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10306,6 +10921,9 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10324,6 +10942,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -10348,12 +10967,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -10383,12 +11002,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -10419,6 +11038,8 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10429,6 +11050,9 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10463,6 +11087,7 @@ static void lts_aga_fm0_n0_p2_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10482,7 +11107,7 @@ static void lts_aga_fm0_n0_p2_ilores_dhires_spr(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -10515,7 +11140,7 @@ static void lts_aga_fm0_n0_p2_ilores_dhires_spr(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -10566,6 +11191,8 @@ static void lts_aga_fm0_n0_p2_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10576,6 +11203,9 @@ static void lts_aga_fm0_n0_p2_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10594,6 +11224,7 @@ static void lts_aga_fm0_n1_p2_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10619,12 +11250,12 @@ static void lts_aga_fm0_n1_p2_ilores_dhires_spr(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -10663,12 +11294,12 @@ static void lts_aga_fm0_n1_p2_ilores_dhires_spr(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -10719,6 +11350,8 @@ static void lts_aga_fm0_n1_p2_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10729,6 +11362,9 @@ static void lts_aga_fm0_n1_p2_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10747,6 +11383,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10771,7 +11408,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dhires_spr(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -10809,7 +11446,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dhires_spr(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -10860,6 +11497,8 @@ static void lts_aga_fm0_dpf0_p2_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10870,6 +11509,9 @@ static void lts_aga_fm0_dpf0_p2_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10888,6 +11530,7 @@ static void lts_aga_fm0_dpf1_p2_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10918,12 +11561,12 @@ static void lts_aga_fm0_dpf1_p2_ilores_dhires_spr(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -10967,12 +11610,12 @@ static void lts_aga_fm0_dpf1_p2_ilores_dhires_spr(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -11023,6 +11666,8 @@ static void lts_aga_fm0_dpf1_p2_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11033,6 +11678,9 @@ static void lts_aga_fm0_dpf1_p2_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11099,6 +11747,7 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11118,7 +11767,7 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_spr(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -11151,7 +11800,7 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_spr(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -11202,6 +11851,8 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11212,6 +11863,9 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11230,6 +11884,7 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11255,12 +11910,12 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_spr(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -11299,12 +11954,12 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_spr(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -11355,6 +12010,8 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11365,6 +12022,9 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11383,6 +12043,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11407,7 +12068,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_spr(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -11445,7 +12106,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_spr(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -11496,6 +12157,8 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11506,6 +12169,9 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11524,6 +12190,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11554,12 +12221,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_spr(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -11603,12 +12270,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_spr(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -11659,6 +12326,8 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11669,6 +12338,9 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11735,6 +12407,7 @@ static void lts_aga_fm0_n0_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11754,7 +12427,7 @@ static void lts_aga_fm0_n0_p6_ilores_dhires_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -11787,7 +12460,7 @@ static void lts_aga_fm0_n0_p6_ilores_dhires_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -11838,6 +12511,8 @@ static void lts_aga_fm0_n0_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11848,6 +12523,9 @@ static void lts_aga_fm0_n0_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11866,6 +12544,7 @@ static void lts_aga_fm0_n1_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11891,12 +12570,12 @@ static void lts_aga_fm0_n1_p6_ilores_dhires_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -11935,12 +12614,12 @@ static void lts_aga_fm0_n1_p6_ilores_dhires_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -11991,6 +12670,8 @@ static void lts_aga_fm0_n1_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12001,6 +12682,9 @@ static void lts_aga_fm0_n1_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12019,6 +12703,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -12043,7 +12728,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dhires_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -12081,7 +12766,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dhires_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -12132,6 +12817,8 @@ static void lts_aga_fm0_dpf0_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12142,6 +12829,9 @@ static void lts_aga_fm0_dpf0_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12160,6 +12850,7 @@ static void lts_aga_fm0_dpf1_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -12190,12 +12881,12 @@ static void lts_aga_fm0_dpf1_p6_ilores_dhires_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -12239,12 +12930,12 @@ static void lts_aga_fm0_dpf1_p6_ilores_dhires_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -12295,6 +12986,8 @@ static void lts_aga_fm0_dpf1_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12305,6 +12998,9 @@ static void lts_aga_fm0_dpf1_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12323,6 +13019,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -12348,7 +13045,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dhires_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -12387,7 +13084,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dhires_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -12438,6 +13135,8 @@ static void lts_aga_fm0_ehb0_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12448,6 +13147,9 @@ static void lts_aga_fm0_ehb0_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12466,6 +13168,7 @@ static void lts_aga_fm0_ehb1_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -12497,12 +13200,12 @@ static void lts_aga_fm0_ehb1_p6_ilores_dhires_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -12547,12 +13250,12 @@ static void lts_aga_fm0_ehb1_p6_ilores_dhires_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -12603,6 +13306,8 @@ static void lts_aga_fm0_ehb1_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12613,6 +13318,9 @@ static void lts_aga_fm0_ehb1_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12631,6 +13339,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -12650,7 +13359,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dhires_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -12683,7 +13392,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dhires_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -12734,6 +13443,8 @@ static void lts_aga_fm0_ham0_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12744,6 +13455,9 @@ static void lts_aga_fm0_ham0_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12762,6 +13476,7 @@ static void lts_aga_fm0_ham1_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -12787,12 +13502,12 @@ static void lts_aga_fm0_ham1_p6_ilores_dhires_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -12831,12 +13546,12 @@ static void lts_aga_fm0_ham1_p6_ilores_dhires_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -12887,6 +13602,8 @@ static void lts_aga_fm0_ham1_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12897,6 +13614,9 @@ static void lts_aga_fm0_ham1_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12915,6 +13635,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -12935,7 +13656,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dhires_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -12969,7 +13690,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dhires_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -13020,6 +13741,8 @@ static void lts_aga_fm0_kehb0_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13030,6 +13753,9 @@ static void lts_aga_fm0_kehb0_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13048,6 +13774,7 @@ static void lts_aga_fm0_kehb1_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -13074,12 +13801,12 @@ static void lts_aga_fm0_kehb1_p6_ilores_dhires_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -13119,12 +13846,12 @@ static void lts_aga_fm0_kehb1_p6_ilores_dhires_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -13175,6 +13902,8 @@ static void lts_aga_fm0_kehb1_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13185,6 +13914,9 @@ static void lts_aga_fm0_kehb1_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13203,6 +13935,7 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -13222,7 +13955,7 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_spr(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -13255,7 +13988,7 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_spr(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -13306,6 +14039,8 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13316,6 +14051,9 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13334,6 +14072,7 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -13359,12 +14098,12 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_spr(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -13403,12 +14142,12 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_spr(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -13459,6 +14198,8 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13469,6 +14210,9 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13487,6 +14231,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -13511,7 +14256,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_spr(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -13549,7 +14294,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_spr(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -13600,6 +14345,8 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13610,6 +14357,9 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13628,6 +14378,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -13658,12 +14409,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_spr(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -13707,12 +14458,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_spr(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -13763,6 +14514,8 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13773,6 +14526,9 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13807,6 +14563,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -13826,7 +14583,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_spr(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -13859,7 +14616,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_spr(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -13910,6 +14667,8 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13920,6 +14679,9 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13938,6 +14700,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -13963,12 +14726,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_spr(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -14007,12 +14770,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_spr(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -14063,6 +14826,8 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14073,6 +14838,9 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14107,6 +14875,7 @@ static void lts_aga_fm0_n0_p2_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14120,7 +14889,7 @@ static void lts_aga_fm0_n0_p2_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -14138,7 +14907,7 @@ static void lts_aga_fm0_n0_p2_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -14168,6 +14937,8 @@ static void lts_aga_fm0_n0_p2_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14178,6 +14949,9 @@ static void lts_aga_fm0_n0_p2_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14196,6 +14970,7 @@ static void lts_aga_fm0_n1_p2_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14209,10 +14984,10 @@ static void lts_aga_fm0_n1_p2_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -14230,10 +15005,10 @@ static void lts_aga_fm0_n1_p2_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -14263,6 +15038,8 @@ static void lts_aga_fm0_n1_p2_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14273,6 +15050,9 @@ static void lts_aga_fm0_n1_p2_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14291,6 +15071,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14309,7 +15090,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -14332,7 +15113,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -14362,6 +15143,8 @@ static void lts_aga_fm0_dpf0_p2_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14372,6 +15155,9 @@ static void lts_aga_fm0_dpf0_p2_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14390,6 +15176,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14408,10 +15195,10 @@ static void lts_aga_fm0_dpf1_p2_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -14434,10 +15221,10 @@ static void lts_aga_fm0_dpf1_p2_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -14467,6 +15254,8 @@ static void lts_aga_fm0_dpf1_p2_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14477,6 +15266,9 @@ static void lts_aga_fm0_dpf1_p2_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14543,6 +15335,7 @@ static void lts_aga_fm0_n0_p4_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14556,7 +15349,7 @@ static void lts_aga_fm0_n0_p4_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -14574,7 +15367,7 @@ static void lts_aga_fm0_n0_p4_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -14604,6 +15397,8 @@ static void lts_aga_fm0_n0_p4_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14614,6 +15409,9 @@ static void lts_aga_fm0_n0_p4_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14632,6 +15430,7 @@ static void lts_aga_fm0_n1_p4_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14645,10 +15444,10 @@ static void lts_aga_fm0_n1_p4_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -14666,10 +15465,10 @@ static void lts_aga_fm0_n1_p4_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -14699,6 +15498,8 @@ static void lts_aga_fm0_n1_p4_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14709,6 +15510,9 @@ static void lts_aga_fm0_n1_p4_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14727,6 +15531,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14745,7 +15550,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -14768,7 +15573,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -14798,6 +15603,8 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14808,6 +15615,9 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14826,6 +15636,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14844,10 +15655,10 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -14870,10 +15681,10 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -14903,6 +15714,8 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14913,6 +15726,9 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15139,6 +15955,7 @@ static void lts_aga_fm0_n0_p2_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15153,7 +15970,7 @@ static void lts_aga_fm0_n0_p2_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -15180,7 +15997,7 @@ static void lts_aga_fm0_n0_p2_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -15230,6 +16047,8 @@ static void lts_aga_fm0_n0_p2_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15240,6 +16059,9 @@ static void lts_aga_fm0_n0_p2_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15258,6 +16080,7 @@ static void lts_aga_fm0_n1_p2_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15272,10 +16095,10 @@ static void lts_aga_fm0_n1_p2_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -15302,10 +16125,10 @@ static void lts_aga_fm0_n1_p2_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -15355,6 +16178,8 @@ static void lts_aga_fm0_n1_p2_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15365,6 +16190,9 @@ static void lts_aga_fm0_n1_p2_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15383,6 +16211,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15402,7 +16231,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -15434,7 +16263,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -15484,6 +16313,8 @@ static void lts_aga_fm0_dpf0_p2_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15494,6 +16325,9 @@ static void lts_aga_fm0_dpf0_p2_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15512,6 +16346,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15531,10 +16366,10 @@ static void lts_aga_fm0_dpf1_p2_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -15566,10 +16401,10 @@ static void lts_aga_fm0_dpf1_p2_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -15619,6 +16454,8 @@ static void lts_aga_fm0_dpf1_p2_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15629,6 +16466,9 @@ static void lts_aga_fm0_dpf1_p2_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15695,6 +16535,7 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15709,7 +16550,7 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -15736,7 +16577,7 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -15786,6 +16627,8 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15796,6 +16639,9 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15814,6 +16660,7 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15828,10 +16675,10 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -15858,10 +16705,10 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -15911,6 +16758,8 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15921,6 +16770,9 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15939,6 +16791,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15958,7 +16811,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -15990,7 +16843,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -16040,6 +16893,8 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16050,6 +16905,9 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16068,6 +16926,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16087,10 +16946,10 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -16122,10 +16981,10 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -16175,6 +17034,8 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16185,6 +17046,9 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16411,6 +17275,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -16424,7 +17289,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -16443,7 +17308,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -16474,6 +17339,8 @@ static void lts_aga_fm0_n0_p2_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16484,6 +17351,9 @@ static void lts_aga_fm0_n0_p2_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16498,6 +17368,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -16511,7 +17382,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -16528,7 +17399,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -16546,7 +17417,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -16563,7 +17434,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -16595,6 +17466,8 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16605,6 +17478,9 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16619,6 +17495,7 @@ static void lts_aga_fm0_n1_p2_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -16632,10 +17509,10 @@ static void lts_aga_fm0_n1_p2_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -16654,10 +17531,10 @@ static void lts_aga_fm0_n1_p2_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -16688,6 +17565,8 @@ static void lts_aga_fm0_n1_p2_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16698,6 +17577,9 @@ static void lts_aga_fm0_n1_p2_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16712,6 +17594,7 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -16725,10 +17608,10 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -16745,10 +17628,10 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -16766,10 +17649,10 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -16786,10 +17669,10 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -16821,6 +17704,8 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16831,6 +17716,9 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16845,6 +17733,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -16863,7 +17752,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -16887,7 +17776,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -16918,6 +17807,8 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16928,6 +17819,9 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16942,6 +17836,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -16960,7 +17855,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -16982,7 +17877,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -17005,7 +17900,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -17027,7 +17922,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -17059,6 +17954,8 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17069,6 +17966,9 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17083,6 +17983,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -17101,10 +18002,10 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -17128,10 +18029,10 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -17162,6 +18063,8 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17172,6 +18075,9 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17186,6 +18092,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -17204,10 +18111,10 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -17229,10 +18136,10 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -17255,10 +18162,10 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -17280,10 +18187,10 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -17315,6 +18222,8 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17325,6 +18234,9 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17627,6 +18539,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17641,7 +18554,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -17669,7 +18582,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -17720,6 +18633,8 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17730,6 +18645,9 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17744,6 +18662,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17758,7 +18677,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -17783,7 +18702,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -17802,7 +18721,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -17827,7 +18746,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -17873,6 +18792,8 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17883,6 +18804,9 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17897,6 +18821,7 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17911,10 +18836,10 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -17942,10 +18867,10 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -17996,6 +18921,8 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18006,6 +18933,9 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18020,6 +18950,7 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18034,10 +18965,10 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -18062,10 +18993,10 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -18084,10 +19015,10 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -18112,10 +19043,10 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -18161,6 +19092,8 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18171,6 +19104,9 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18185,6 +19121,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18204,7 +19141,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -18237,7 +19174,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -18288,6 +19225,8 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18298,6 +19237,9 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18312,6 +19254,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18331,7 +19274,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -18361,7 +19304,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -18385,7 +19328,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -18415,7 +19358,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -18461,6 +19404,8 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18471,6 +19416,9 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18485,6 +19433,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18504,10 +19453,10 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -18540,10 +19489,10 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -18594,6 +19543,8 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18604,6 +19555,9 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18618,6 +19572,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18637,10 +19592,10 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -18670,10 +19625,10 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -18697,10 +19652,10 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -18730,10 +19685,10 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -18779,6 +19734,8 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18789,6 +19746,9 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19091,6 +20051,7 @@ static void lts_aga_fm0_n0_p2_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19109,7 +20070,7 @@ static void lts_aga_fm0_n0_p2_ilores_dshres(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -19133,7 +20094,7 @@ static void lts_aga_fm0_n0_p2_ilores_dshres(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -19157,7 +20118,7 @@ static void lts_aga_fm0_n0_p2_ilores_dshres(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -19181,7 +20142,7 @@ static void lts_aga_fm0_n0_p2_ilores_dshres(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -19230,6 +20191,8 @@ static void lts_aga_fm0_n0_p2_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19240,6 +20203,9 @@ static void lts_aga_fm0_n0_p2_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19258,6 +20224,7 @@ static void lts_aga_fm0_n1_p2_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19282,12 +20249,12 @@ static void lts_aga_fm0_n1_p2_ilores_dshres(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -19317,12 +20284,12 @@ static void lts_aga_fm0_n1_p2_ilores_dshres(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -19352,12 +20319,12 @@ static void lts_aga_fm0_n1_p2_ilores_dshres(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -19387,12 +20354,12 @@ static void lts_aga_fm0_n1_p2_ilores_dshres(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -19441,6 +20408,8 @@ static void lts_aga_fm0_n1_p2_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19451,6 +20420,9 @@ static void lts_aga_fm0_n1_p2_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19469,6 +20441,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19492,7 +20465,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -19521,7 +20494,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -19550,7 +20523,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -19579,7 +20552,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -19628,6 +20601,8 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19638,6 +20613,9 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19656,6 +20634,7 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19685,12 +20664,12 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -19725,12 +20704,12 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -19765,12 +20744,12 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -19805,12 +20784,12 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -19859,6 +20838,8 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19869,6 +20850,9 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19935,6 +20919,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19953,7 +20938,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -19977,7 +20962,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -20001,7 +20986,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -20025,7 +21010,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -20074,6 +21059,8 @@ static void lts_aga_fm0_n0_p4_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20084,6 +21071,9 @@ static void lts_aga_fm0_n0_p4_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20102,6 +21092,7 @@ static void lts_aga_fm0_n1_p4_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20126,12 +21117,12 @@ static void lts_aga_fm0_n1_p4_ilores_dshres(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -20161,12 +21152,12 @@ static void lts_aga_fm0_n1_p4_ilores_dshres(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -20196,12 +21187,12 @@ static void lts_aga_fm0_n1_p4_ilores_dshres(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -20231,12 +21222,12 @@ static void lts_aga_fm0_n1_p4_ilores_dshres(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -20285,6 +21276,8 @@ static void lts_aga_fm0_n1_p4_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20295,6 +21288,9 @@ static void lts_aga_fm0_n1_p4_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20313,6 +21309,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20336,7 +21333,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -20365,7 +21362,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -20394,7 +21391,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -20423,7 +21420,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -20472,6 +21469,8 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20482,6 +21481,9 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20500,6 +21502,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20529,12 +21532,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -20569,12 +21572,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -20609,12 +21612,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -20649,12 +21652,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -20703,6 +21706,8 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20713,6 +21718,9 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20779,6 +21787,7 @@ static void lts_aga_fm0_n0_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20797,7 +21806,7 @@ static void lts_aga_fm0_n0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -20821,7 +21830,7 @@ static void lts_aga_fm0_n0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -20845,7 +21854,7 @@ static void lts_aga_fm0_n0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -20869,7 +21878,7 @@ static void lts_aga_fm0_n0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -20918,6 +21927,8 @@ static void lts_aga_fm0_n0_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20928,6 +21939,9 @@ static void lts_aga_fm0_n0_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20946,6 +21960,7 @@ static void lts_aga_fm0_n1_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20970,12 +21985,12 @@ static void lts_aga_fm0_n1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -21005,12 +22020,12 @@ static void lts_aga_fm0_n1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -21040,12 +22055,12 @@ static void lts_aga_fm0_n1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -21075,12 +22090,12 @@ static void lts_aga_fm0_n1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -21129,6 +22144,8 @@ static void lts_aga_fm0_n1_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21139,6 +22156,9 @@ static void lts_aga_fm0_n1_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21157,6 +22177,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -21180,7 +22201,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -21209,7 +22230,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -21238,7 +22259,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -21267,7 +22288,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -21316,6 +22337,8 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21326,6 +22349,9 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21344,6 +22370,7 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -21373,12 +22400,12 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -21413,12 +22440,12 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -21453,12 +22480,12 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -21493,12 +22520,12 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -21547,6 +22574,8 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21557,6 +22586,9 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21575,6 +22607,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -21599,7 +22632,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -21629,7 +22662,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -21659,7 +22692,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -21689,7 +22722,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -21738,6 +22771,8 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21748,6 +22783,9 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21766,6 +22804,7 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -21796,12 +22835,12 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -21837,12 +22876,12 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -21878,12 +22917,12 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -21919,12 +22958,12 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -21973,6 +23012,8 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21983,6 +23024,9 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22001,6 +23045,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -22019,7 +23064,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -22043,7 +23088,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -22067,7 +23112,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -22091,7 +23136,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -22140,6 +23185,8 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22150,6 +23197,9 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22168,6 +23218,7 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -22192,12 +23243,12 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -22227,12 +23278,12 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -22262,12 +23313,12 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -22297,12 +23348,12 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -22351,6 +23402,8 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22361,6 +23414,9 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22379,6 +23435,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -22398,7 +23455,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -22423,7 +23480,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -22448,7 +23505,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -22473,7 +23530,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -22522,6 +23579,8 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22532,6 +23591,9 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22550,6 +23612,7 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -22575,12 +23638,12 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -22611,12 +23674,12 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -22647,12 +23710,12 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -22683,12 +23746,12 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -22737,6 +23800,8 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22747,6 +23812,9 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22765,6 +23833,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -22783,7 +23852,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -22807,7 +23876,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -22831,7 +23900,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -22855,7 +23924,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -22904,6 +23973,8 @@ static void lts_aga_fm0_n0_p8_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22914,6 +23985,9 @@ static void lts_aga_fm0_n0_p8_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22932,6 +24006,7 @@ static void lts_aga_fm0_n1_p8_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -22956,12 +24031,12 @@ static void lts_aga_fm0_n1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -22991,12 +24066,12 @@ static void lts_aga_fm0_n1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -23026,12 +24101,12 @@ static void lts_aga_fm0_n1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -23061,12 +24136,12 @@ static void lts_aga_fm0_n1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -23115,6 +24190,8 @@ static void lts_aga_fm0_n1_p8_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23125,6 +24202,9 @@ static void lts_aga_fm0_n1_p8_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23143,6 +24223,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -23166,7 +24247,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -23195,7 +24276,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -23224,7 +24305,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -23253,7 +24334,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -23302,6 +24383,8 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23312,6 +24395,9 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23330,6 +24416,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -23359,12 +24446,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -23399,12 +24486,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -23439,12 +24526,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -23479,12 +24566,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -23533,6 +24620,8 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23543,6 +24632,9 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23577,6 +24669,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -23595,7 +24688,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -23619,7 +24712,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -23643,7 +24736,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -23667,7 +24760,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -23716,6 +24809,8 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23726,6 +24821,9 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23744,6 +24842,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -23768,12 +24867,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -23803,12 +24902,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -23838,12 +24937,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -23873,12 +24972,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -23927,6 +25026,8 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23937,6 +25038,9 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23971,6 +25075,7 @@ static void lts_aga_fm0_n0_p2_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23990,7 +25095,7 @@ static void lts_aga_fm0_n0_p2_ilores_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -24023,7 +25128,7 @@ static void lts_aga_fm0_n0_p2_ilores_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -24056,7 +25161,7 @@ static void lts_aga_fm0_n0_p2_ilores_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -24089,7 +25194,7 @@ static void lts_aga_fm0_n0_p2_ilores_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -24170,6 +25275,8 @@ static void lts_aga_fm0_n0_p2_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24180,6 +25287,9 @@ static void lts_aga_fm0_n0_p2_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24198,6 +25308,7 @@ static void lts_aga_fm0_n1_p2_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -24223,12 +25334,12 @@ static void lts_aga_fm0_n1_p2_ilores_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -24267,12 +25378,12 @@ static void lts_aga_fm0_n1_p2_ilores_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -24311,12 +25422,12 @@ static void lts_aga_fm0_n1_p2_ilores_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -24355,12 +25466,12 @@ static void lts_aga_fm0_n1_p2_ilores_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -24441,6 +25552,8 @@ static void lts_aga_fm0_n1_p2_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24451,6 +25564,9 @@ static void lts_aga_fm0_n1_p2_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24469,6 +25585,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -24493,7 +25610,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -24531,7 +25648,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -24569,7 +25686,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -24607,7 +25724,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -24688,6 +25805,8 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24698,6 +25817,9 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24716,6 +25838,7 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -24746,12 +25869,12 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -24795,12 +25918,12 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -24844,12 +25967,12 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -24893,12 +26016,12 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -24979,6 +26102,8 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24989,6 +26114,9 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25055,6 +26183,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -25074,7 +26203,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -25107,7 +26236,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -25140,7 +26269,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -25173,7 +26302,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -25254,6 +26383,8 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25264,6 +26395,9 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25282,6 +26416,7 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -25307,12 +26442,12 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -25351,12 +26486,12 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -25395,12 +26530,12 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -25439,12 +26574,12 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -25525,6 +26660,8 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25535,6 +26672,9 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25553,6 +26693,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -25577,7 +26718,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -25615,7 +26756,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -25653,7 +26794,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -25691,7 +26832,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -25772,6 +26913,8 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25782,6 +26925,9 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25800,6 +26946,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -25830,12 +26977,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -25879,12 +27026,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -25928,12 +27075,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -25977,12 +27124,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -26063,6 +27210,8 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26073,6 +27222,9 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26139,6 +27291,7 @@ static void lts_aga_fm0_n0_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -26158,7 +27311,7 @@ static void lts_aga_fm0_n0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -26191,7 +27344,7 @@ static void lts_aga_fm0_n0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -26224,7 +27377,7 @@ static void lts_aga_fm0_n0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -26257,7 +27410,7 @@ static void lts_aga_fm0_n0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -26338,6 +27491,8 @@ static void lts_aga_fm0_n0_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26348,6 +27503,9 @@ static void lts_aga_fm0_n0_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26366,6 +27524,7 @@ static void lts_aga_fm0_n1_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -26391,12 +27550,12 @@ static void lts_aga_fm0_n1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -26435,12 +27594,12 @@ static void lts_aga_fm0_n1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -26479,12 +27638,12 @@ static void lts_aga_fm0_n1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -26523,12 +27682,12 @@ static void lts_aga_fm0_n1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -26609,6 +27768,8 @@ static void lts_aga_fm0_n1_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26619,6 +27780,9 @@ static void lts_aga_fm0_n1_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26637,6 +27801,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -26661,7 +27826,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -26699,7 +27864,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -26737,7 +27902,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -26775,7 +27940,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -26856,6 +28021,8 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26866,6 +28033,9 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26884,6 +28054,7 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -26914,12 +28085,12 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -26963,12 +28134,12 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -27012,12 +28183,12 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -27061,12 +28232,12 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -27147,6 +28318,8 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27157,6 +28330,9 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27175,6 +28351,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -27200,7 +28377,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -27239,7 +28416,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -27278,7 +28455,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -27317,7 +28494,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -27398,6 +28575,8 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27408,6 +28587,9 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27426,6 +28608,7 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -27457,12 +28640,12 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -27507,12 +28690,12 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -27557,12 +28740,12 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -27607,12 +28790,12 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -27693,6 +28876,8 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27703,6 +28888,9 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27721,6 +28909,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -27740,7 +28929,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -27773,7 +28962,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -27806,7 +28995,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -27839,7 +29028,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -27920,6 +29109,8 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27930,6 +29121,9 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27948,6 +29142,7 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -27973,12 +29168,12 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -28017,12 +29212,12 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -28061,12 +29256,12 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -28105,12 +29300,12 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -28191,6 +29386,8 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28201,6 +29398,9 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28219,6 +29419,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -28239,7 +29440,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -28273,7 +29474,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -28307,7 +29508,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -28341,7 +29542,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); @@ -28422,6 +29623,8 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28432,6 +29635,9 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28450,6 +29656,7 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -28476,12 +29683,12 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -28521,12 +29728,12 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -28566,12 +29773,12 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -28611,12 +29818,12 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6(); @@ -28697,6 +29904,8 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28707,6 +29916,9 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28725,6 +29937,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -28744,7 +29957,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -28777,7 +29990,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -28810,7 +30023,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -28843,7 +30056,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -28924,6 +30137,8 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28934,6 +30149,9 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28952,6 +30170,7 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -28977,12 +30196,12 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -29021,12 +30240,12 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -29065,12 +30284,12 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -29109,12 +30328,12 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -29195,6 +30414,8 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29205,6 +30426,9 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -29223,6 +30447,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -29247,7 +30472,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -29285,7 +30510,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -29323,7 +30548,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -29361,7 +30586,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -29442,6 +30667,8 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29452,6 +30679,9 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -29470,6 +30700,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -29500,12 +30731,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -29549,12 +30780,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -29598,12 +30829,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -29647,12 +30878,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -29733,6 +30964,8 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29743,6 +30976,9 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -29777,6 +31013,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -29796,7 +31033,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -29829,7 +31066,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -29862,7 +31099,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -29895,7 +31132,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -29976,6 +31213,8 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29986,6 +31225,9 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30004,6 +31246,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -30029,12 +31272,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -30073,12 +31316,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -30117,12 +31360,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -30161,12 +31404,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -30247,6 +31490,8 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30257,6 +31502,9 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30291,6 +31539,7 @@ static void lts_aga_fm0_n0_p2_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -30309,7 +31558,7 @@ static void lts_aga_fm0_n0_p2_ihires_dshres(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -30333,7 +31582,7 @@ static void lts_aga_fm0_n0_p2_ihires_dshres(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -30357,7 +31606,7 @@ static void lts_aga_fm0_n0_p2_ihires_dshres(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -30381,7 +31630,7 @@ static void lts_aga_fm0_n0_p2_ihires_dshres(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -30430,6 +31679,8 @@ static void lts_aga_fm0_n0_p2_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30440,6 +31691,9 @@ static void lts_aga_fm0_n0_p2_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30458,6 +31712,7 @@ static void lts_aga_fm0_n1_p2_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -30482,12 +31737,12 @@ static void lts_aga_fm0_n1_p2_ihires_dshres(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -30517,12 +31772,12 @@ static void lts_aga_fm0_n1_p2_ihires_dshres(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -30552,12 +31807,12 @@ static void lts_aga_fm0_n1_p2_ihires_dshres(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -30587,12 +31842,12 @@ static void lts_aga_fm0_n1_p2_ihires_dshres(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -30641,6 +31896,8 @@ static void lts_aga_fm0_n1_p2_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30651,6 +31908,9 @@ static void lts_aga_fm0_n1_p2_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30669,6 +31929,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -30692,7 +31953,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -30721,7 +31982,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -30750,7 +32011,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -30779,7 +32040,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -30828,6 +32089,8 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30838,6 +32101,9 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30856,6 +32122,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -30885,12 +32152,12 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -30925,12 +32192,12 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -30965,12 +32232,12 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -31005,12 +32272,12 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -31059,6 +32326,8 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -31069,6 +32338,9 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -31135,6 +32407,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -31153,7 +32426,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -31177,7 +32450,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -31201,7 +32474,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -31225,7 +32498,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -31274,6 +32547,8 @@ static void lts_aga_fm0_n0_p4_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -31284,6 +32559,9 @@ static void lts_aga_fm0_n0_p4_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -31302,6 +32580,7 @@ static void lts_aga_fm0_n1_p4_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -31326,12 +32605,12 @@ static void lts_aga_fm0_n1_p4_ihires_dshres(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -31361,12 +32640,12 @@ static void lts_aga_fm0_n1_p4_ihires_dshres(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -31396,12 +32675,12 @@ static void lts_aga_fm0_n1_p4_ihires_dshres(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -31431,12 +32710,12 @@ static void lts_aga_fm0_n1_p4_ihires_dshres(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -31485,6 +32764,8 @@ static void lts_aga_fm0_n1_p4_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -31495,6 +32776,9 @@ static void lts_aga_fm0_n1_p4_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -31513,6 +32797,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -31536,7 +32821,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -31565,7 +32850,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -31594,7 +32879,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -31623,7 +32908,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -31672,6 +32957,8 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -31682,6 +32969,9 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -31700,6 +32990,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -31729,12 +33020,12 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -31769,12 +33060,12 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -31809,12 +33100,12 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -31849,12 +33140,12 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -31903,6 +33194,8 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -31913,6 +33206,9 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -32139,6 +33435,7 @@ static void lts_aga_fm0_n0_p2_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -32158,7 +33455,7 @@ static void lts_aga_fm0_n0_p2_ihires_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -32191,7 +33488,7 @@ static void lts_aga_fm0_n0_p2_ihires_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -32224,7 +33521,7 @@ static void lts_aga_fm0_n0_p2_ihires_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -32257,7 +33554,7 @@ static void lts_aga_fm0_n0_p2_ihires_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -32338,6 +33635,8 @@ static void lts_aga_fm0_n0_p2_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -32348,6 +33647,9 @@ static void lts_aga_fm0_n0_p2_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -32366,6 +33668,7 @@ static void lts_aga_fm0_n1_p2_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -32391,12 +33694,12 @@ static void lts_aga_fm0_n1_p2_ihires_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -32435,12 +33738,12 @@ static void lts_aga_fm0_n1_p2_ihires_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -32479,12 +33782,12 @@ static void lts_aga_fm0_n1_p2_ihires_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -32523,12 +33826,12 @@ static void lts_aga_fm0_n1_p2_ihires_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -32609,6 +33912,8 @@ static void lts_aga_fm0_n1_p2_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -32619,6 +33924,9 @@ static void lts_aga_fm0_n1_p2_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -32637,6 +33945,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -32661,7 +33970,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -32699,7 +34008,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -32737,7 +34046,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -32775,7 +34084,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); @@ -32856,6 +34165,8 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -32866,6 +34177,9 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -32884,6 +34198,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -32914,12 +34229,12 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -32963,12 +34278,12 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -33012,12 +34327,12 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -33061,12 +34376,12 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2(); @@ -33147,6 +34462,8 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -33157,6 +34474,9 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -33223,6 +34543,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -33242,7 +34563,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -33275,7 +34596,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -33308,7 +34629,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -33341,7 +34662,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -33422,6 +34743,8 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -33432,6 +34755,9 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -33450,6 +34776,7 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -33475,12 +34802,12 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -33519,12 +34846,12 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -33563,12 +34890,12 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -33607,12 +34934,12 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -33693,6 +35020,8 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -33703,6 +35032,9 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -33721,6 +35053,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -33745,7 +35078,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -33783,7 +35116,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -33821,7 +35154,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -33859,7 +35192,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -33940,6 +35273,8 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -33950,6 +35285,9 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -33968,6 +35306,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -33998,12 +35337,12 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -34047,12 +35386,12 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -34096,12 +35435,12 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -34145,12 +35484,12 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -34231,6 +35570,8 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -34241,6 +35582,9 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -34467,6 +35811,7 @@ static void lts_aga_fm0_n0_p2_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -34480,7 +35825,7 @@ static void lts_aga_fm0_n0_p2_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -34498,7 +35843,7 @@ static void lts_aga_fm0_n0_p2_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -34516,7 +35861,7 @@ static void lts_aga_fm0_n0_p2_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -34534,7 +35879,7 @@ static void lts_aga_fm0_n0_p2_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -34582,6 +35927,8 @@ static void lts_aga_fm0_n0_p2_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -34592,6 +35939,9 @@ static void lts_aga_fm0_n0_p2_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -34610,6 +35960,7 @@ static void lts_aga_fm0_n1_p2_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -34623,10 +35974,10 @@ static void lts_aga_fm0_n1_p2_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -34644,10 +35995,10 @@ static void lts_aga_fm0_n1_p2_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -34665,10 +36016,10 @@ static void lts_aga_fm0_n1_p2_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -34686,10 +36037,10 @@ static void lts_aga_fm0_n1_p2_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -34737,6 +36088,8 @@ static void lts_aga_fm0_n1_p2_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -34747,6 +36100,9 @@ static void lts_aga_fm0_n1_p2_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -34765,6 +36121,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -34783,7 +36140,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -34806,7 +36163,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -34829,7 +36186,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -34852,7 +36209,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -34900,6 +36257,8 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -34910,6 +36269,9 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -34928,6 +36290,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -34946,10 +36309,10 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -34972,10 +36335,10 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -34998,10 +36361,10 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -35024,10 +36387,10 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -35075,6 +36438,8 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -35085,6 +36450,9 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -35391,6 +36759,7 @@ static void lts_aga_fm0_n0_p2_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -35405,7 +36774,7 @@ static void lts_aga_fm0_n0_p2_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -35432,7 +36801,7 @@ static void lts_aga_fm0_n0_p2_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -35459,7 +36828,7 @@ static void lts_aga_fm0_n0_p2_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -35486,7 +36855,7 @@ static void lts_aga_fm0_n0_p2_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -35566,6 +36935,8 @@ static void lts_aga_fm0_n0_p2_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -35576,6 +36947,9 @@ static void lts_aga_fm0_n0_p2_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -35594,6 +36968,7 @@ static void lts_aga_fm0_n1_p2_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -35608,10 +36983,10 @@ static void lts_aga_fm0_n1_p2_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -35638,10 +37013,10 @@ static void lts_aga_fm0_n1_p2_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -35668,10 +37043,10 @@ static void lts_aga_fm0_n1_p2_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -35698,10 +37073,10 @@ static void lts_aga_fm0_n1_p2_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -35781,6 +37156,8 @@ static void lts_aga_fm0_n1_p2_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -35791,6 +37168,9 @@ static void lts_aga_fm0_n1_p2_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -35809,6 +37189,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -35828,7 +37209,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -35860,7 +37241,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -35892,7 +37273,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -35924,7 +37305,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2(); @@ -36004,6 +37385,8 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -36014,6 +37397,9 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -36032,6 +37418,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -36051,10 +37438,10 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -36086,10 +37473,10 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -36121,10 +37508,10 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -36156,10 +37543,10 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 3) & 15) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 15) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2(); @@ -36239,6 +37626,8 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -36249,6 +37638,9 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } diff --git a/linetoscr_aga_fm0_genlock.cpp b/linetoscr_aga_fm0_genlock.cpp index 80c54522..5a07e1c4 100644 --- a/linetoscr_aga_fm0_genlock.cpp +++ b/linetoscr_aga_fm0_genlock.cpp @@ -15,6 +15,7 @@ static void lts_aga_fm0_n0_p4_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -31,7 +32,7 @@ static void lts_aga_fm0_n0_p4_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -54,6 +55,8 @@ static void lts_aga_fm0_n0_p4_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -64,6 +67,9 @@ static void lts_aga_fm0_n0_p4_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -82,6 +88,7 @@ static void lts_aga_fm0_n1_p4_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -98,10 +105,10 @@ static void lts_aga_fm0_n1_p4_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -124,6 +131,8 @@ static void lts_aga_fm0_n1_p4_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -134,6 +143,9 @@ static void lts_aga_fm0_n1_p4_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -152,6 +164,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -173,7 +186,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -196,6 +209,8 @@ static void lts_aga_fm0_dpf0_p4_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -206,6 +221,9 @@ static void lts_aga_fm0_dpf0_p4_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -224,6 +242,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -245,10 +264,10 @@ static void lts_aga_fm0_dpf1_p4_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -271,6 +290,8 @@ static void lts_aga_fm0_dpf1_p4_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -281,6 +302,9 @@ static void lts_aga_fm0_dpf1_p4_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -347,6 +371,7 @@ static void lts_aga_fm0_n0_p8_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -363,7 +388,7 @@ static void lts_aga_fm0_n0_p8_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8(); @@ -386,6 +411,8 @@ static void lts_aga_fm0_n0_p8_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -396,6 +423,9 @@ static void lts_aga_fm0_n0_p8_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -414,6 +444,7 @@ static void lts_aga_fm0_n1_p8_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -430,10 +461,10 @@ static void lts_aga_fm0_n1_p8_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8(); @@ -456,6 +487,8 @@ static void lts_aga_fm0_n1_p8_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -466,6 +499,9 @@ static void lts_aga_fm0_n1_p8_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -484,6 +520,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -505,7 +542,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8(); @@ -528,6 +565,8 @@ static void lts_aga_fm0_dpf0_p8_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -538,6 +577,9 @@ static void lts_aga_fm0_dpf0_p8_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -556,6 +598,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -577,10 +620,10 @@ static void lts_aga_fm0_dpf1_p8_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8(); @@ -603,6 +646,8 @@ static void lts_aga_fm0_dpf1_p8_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -613,6 +658,9 @@ static void lts_aga_fm0_dpf1_p8_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -647,6 +695,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -663,7 +712,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8(); @@ -686,6 +735,8 @@ static void lts_aga_fm0_ham0_p8_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -696,6 +747,9 @@ static void lts_aga_fm0_ham0_p8_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -714,6 +768,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -730,10 +785,10 @@ static void lts_aga_fm0_ham1_p8_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8(); @@ -756,6 +811,8 @@ static void lts_aga_fm0_ham1_p8_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -766,6 +823,9 @@ static void lts_aga_fm0_ham1_p8_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -800,6 +860,7 @@ static void lts_aga_fm0_n0_p4_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -817,7 +878,7 @@ static void lts_aga_fm0_n0_p4_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -856,6 +917,8 @@ static void lts_aga_fm0_n0_p4_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -866,6 +929,9 @@ static void lts_aga_fm0_n0_p4_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -884,6 +950,7 @@ static void lts_aga_fm0_n1_p4_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -901,10 +968,10 @@ static void lts_aga_fm0_n1_p4_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -943,6 +1010,8 @@ static void lts_aga_fm0_n1_p4_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -953,6 +1022,9 @@ static void lts_aga_fm0_n1_p4_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -971,6 +1043,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -993,7 +1066,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -1032,6 +1105,8 @@ static void lts_aga_fm0_dpf0_p4_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1042,6 +1117,9 @@ static void lts_aga_fm0_dpf0_p4_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1060,6 +1138,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1082,10 +1161,10 @@ static void lts_aga_fm0_dpf1_p4_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -1124,6 +1203,8 @@ static void lts_aga_fm0_dpf1_p4_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1134,6 +1215,9 @@ static void lts_aga_fm0_dpf1_p4_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1200,6 +1284,7 @@ static void lts_aga_fm0_n0_p8_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1217,7 +1302,7 @@ static void lts_aga_fm0_n0_p8_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8(); @@ -1256,6 +1341,8 @@ static void lts_aga_fm0_n0_p8_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1266,6 +1353,9 @@ static void lts_aga_fm0_n0_p8_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1284,6 +1374,7 @@ static void lts_aga_fm0_n1_p8_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1301,10 +1392,10 @@ static void lts_aga_fm0_n1_p8_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8(); @@ -1343,6 +1434,8 @@ static void lts_aga_fm0_n1_p8_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1353,6 +1446,9 @@ static void lts_aga_fm0_n1_p8_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1371,6 +1467,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1393,7 +1490,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8(); @@ -1432,6 +1529,8 @@ static void lts_aga_fm0_dpf0_p8_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1442,6 +1541,9 @@ static void lts_aga_fm0_dpf0_p8_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1460,6 +1562,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1482,10 +1585,10 @@ static void lts_aga_fm0_dpf1_p8_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8(); @@ -1524,6 +1627,8 @@ static void lts_aga_fm0_dpf1_p8_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1534,6 +1639,9 @@ static void lts_aga_fm0_dpf1_p8_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1568,6 +1676,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1585,7 +1694,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8(); @@ -1624,6 +1733,8 @@ static void lts_aga_fm0_ham0_p8_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1634,6 +1745,9 @@ static void lts_aga_fm0_ham0_p8_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1652,6 +1766,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1669,10 +1784,10 @@ static void lts_aga_fm0_ham1_p8_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8(); @@ -1711,6 +1826,8 @@ static void lts_aga_fm0_ham1_p8_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1721,6 +1838,9 @@ static void lts_aga_fm0_ham1_p8_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1755,6 +1875,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -1771,7 +1892,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -1795,6 +1916,8 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1805,6 +1928,9 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1819,6 +1945,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -1835,7 +1962,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -1855,7 +1982,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -1880,6 +2007,8 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1890,6 +2019,9 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1904,6 +2036,7 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -1920,10 +2053,10 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -1947,6 +2080,8 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1957,6 +2092,9 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1971,6 +2109,7 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -1987,10 +2126,10 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -2010,10 +2149,10 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -2038,6 +2177,8 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2048,6 +2189,9 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2062,6 +2206,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2083,7 +2228,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -2107,6 +2252,8 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2117,6 +2264,9 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2131,6 +2281,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2152,7 +2303,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -2177,7 +2328,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -2202,6 +2353,8 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2212,6 +2365,9 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2226,6 +2382,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2247,10 +2404,10 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -2274,6 +2431,8 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2284,6 +2443,9 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2298,6 +2460,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2319,10 +2482,10 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -2347,10 +2510,10 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -2375,6 +2538,8 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2385,6 +2550,9 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2527,6 +2695,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2544,7 +2713,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -2584,6 +2753,8 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2594,6 +2765,9 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2608,6 +2782,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2625,7 +2800,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -2653,7 +2828,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -2687,6 +2862,8 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2697,6 +2874,9 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2711,6 +2891,7 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2728,10 +2909,10 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -2771,6 +2952,8 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2781,6 +2964,9 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2795,6 +2981,7 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2812,10 +2999,10 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -2843,10 +3030,10 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -2880,6 +3067,8 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2890,6 +3079,9 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2904,6 +3096,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2926,7 +3119,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -2966,6 +3159,8 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2976,6 +3171,9 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2990,6 +3188,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3012,7 +3211,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -3045,7 +3244,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -3079,6 +3278,8 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3089,6 +3290,9 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3103,6 +3307,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3125,10 +3330,10 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -3168,6 +3373,8 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3178,6 +3385,9 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3192,6 +3402,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3214,10 +3425,10 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -3250,10 +3461,10 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -3287,6 +3498,8 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3297,6 +3510,9 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3759,6 +3975,7 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -3780,7 +3997,7 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -3807,7 +4024,7 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -3842,6 +4059,8 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3852,6 +4071,9 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3870,6 +4092,7 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -3897,12 +4120,12 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -3935,12 +4158,12 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -3975,6 +4198,8 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3985,6 +4210,9 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4003,6 +4231,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -4029,7 +4258,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -4061,7 +4290,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -4096,6 +4325,8 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4106,6 +4337,9 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4124,6 +4358,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -4156,12 +4391,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -4199,12 +4434,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -4239,6 +4474,8 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4249,6 +4486,9 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4315,6 +4555,7 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -4336,7 +4577,7 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -4363,7 +4604,7 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -4398,6 +4639,8 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4408,6 +4651,9 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4426,6 +4672,7 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -4453,12 +4700,12 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -4491,12 +4738,12 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -4531,6 +4778,8 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4541,6 +4790,9 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4559,6 +4811,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -4585,7 +4838,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -4617,7 +4870,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -4652,6 +4905,8 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4662,6 +4917,9 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4680,6 +4938,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -4712,12 +4971,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -4755,12 +5014,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -4795,6 +5054,8 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4805,6 +5066,9 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4839,6 +5103,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -4860,7 +5125,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -4887,7 +5152,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -4922,6 +5187,8 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4932,6 +5199,9 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4950,6 +5220,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -4977,12 +5248,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -5015,12 +5286,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -5055,6 +5326,8 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5065,6 +5338,9 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5099,6 +5375,7 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5121,7 +5398,7 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -5157,7 +5434,7 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -5216,6 +5493,8 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5226,6 +5505,9 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5244,6 +5526,7 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5272,12 +5555,12 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -5319,12 +5602,12 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -5383,6 +5666,8 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5393,6 +5678,9 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5411,6 +5699,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5438,7 +5727,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -5479,7 +5768,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -5538,6 +5827,8 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5548,6 +5839,9 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5566,6 +5860,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5599,12 +5894,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -5651,12 +5946,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -5715,6 +6010,8 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5725,6 +6022,9 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5791,6 +6091,7 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5813,7 +6114,7 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -5849,7 +6150,7 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -5908,6 +6209,8 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5918,6 +6221,9 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5936,6 +6242,7 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5964,12 +6271,12 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -6011,12 +6318,12 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -6075,6 +6382,8 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6085,6 +6394,9 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6103,6 +6415,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -6130,7 +6443,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -6171,7 +6484,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -6230,6 +6543,8 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6240,6 +6555,9 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6258,6 +6576,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -6291,12 +6610,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -6343,12 +6662,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -6407,6 +6726,8 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6417,6 +6738,9 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6451,6 +6775,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -6473,7 +6798,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -6509,7 +6834,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -6568,6 +6893,8 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6578,6 +6905,9 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6596,6 +6926,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -6624,12 +6955,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -6671,12 +7002,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -6735,6 +7066,8 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6745,6 +7078,9 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6779,6 +7115,7 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -6795,7 +7132,7 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -6816,7 +7153,7 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -6850,6 +7187,8 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6860,6 +7199,9 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6878,6 +7220,7 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -6894,10 +7237,10 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -6918,10 +7261,10 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -6955,6 +7298,8 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6965,6 +7310,9 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6983,6 +7331,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -7004,7 +7353,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -7030,7 +7379,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -7064,6 +7413,8 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7074,6 +7425,9 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7092,6 +7446,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -7113,10 +7468,10 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -7142,10 +7497,10 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -7179,6 +7534,8 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7189,6 +7546,9 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7335,6 +7695,7 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7352,7 +7713,7 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -7382,7 +7743,7 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -7440,6 +7801,8 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7450,6 +7813,9 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7468,6 +7834,7 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7485,10 +7852,10 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -7518,10 +7885,10 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -7579,6 +7946,8 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7589,6 +7958,9 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7607,6 +7979,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7629,7 +8002,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -7664,7 +8037,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4(); @@ -7722,6 +8095,8 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7732,6 +8107,9 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7750,6 +8128,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7772,10 +8151,10 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -7810,10 +8189,10 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4(); @@ -7871,6 +8250,8 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7881,6 +8262,9 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8347,6 +8731,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -8368,7 +8753,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -8395,7 +8780,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -8422,7 +8807,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -8449,7 +8834,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -8506,6 +8891,8 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8516,6 +8903,9 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8534,6 +8924,7 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -8561,12 +8952,12 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -8599,12 +8990,12 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -8637,12 +9028,12 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -8675,12 +9066,12 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -8737,6 +9128,8 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8747,6 +9140,9 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8765,6 +9161,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -8791,7 +9188,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -8823,7 +9220,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -8855,7 +9252,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -8887,7 +9284,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -8944,6 +9341,8 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8954,6 +9353,9 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8972,6 +9374,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9004,12 +9407,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -9047,12 +9450,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -9090,12 +9493,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -9133,12 +9536,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -9195,6 +9598,8 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9205,6 +9610,9 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9271,6 +9679,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9292,7 +9701,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -9319,7 +9728,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -9346,7 +9755,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -9373,7 +9782,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -9430,6 +9839,8 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9440,6 +9851,9 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9458,6 +9872,7 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9485,12 +9900,12 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -9523,12 +9938,12 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -9561,12 +9976,12 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -9599,12 +10014,12 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -9661,6 +10076,8 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9671,6 +10088,9 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9689,6 +10109,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9715,7 +10136,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -9747,7 +10168,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -9779,7 +10200,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -9811,7 +10232,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -9868,6 +10289,8 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9878,6 +10301,9 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9896,6 +10322,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9928,12 +10355,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -9971,12 +10398,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -10014,12 +10441,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -10057,12 +10484,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -10119,6 +10546,8 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10129,6 +10558,9 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10163,6 +10595,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -10184,7 +10617,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -10211,7 +10644,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -10238,7 +10671,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -10265,7 +10698,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -10322,6 +10755,8 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10332,6 +10767,9 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10350,6 +10788,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -10377,12 +10816,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -10415,12 +10854,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -10453,12 +10892,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -10491,12 +10930,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -10553,6 +10992,8 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10563,6 +11004,9 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10597,6 +11041,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10619,7 +11064,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -10655,7 +11100,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -10691,7 +11136,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -10727,7 +11172,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -10824,6 +11269,8 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10834,6 +11281,9 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10852,6 +11302,7 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10880,12 +11331,12 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -10927,12 +11378,12 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -10974,12 +11425,12 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -11021,12 +11472,12 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -11123,6 +11574,8 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11133,6 +11586,9 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11151,6 +11607,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11178,7 +11635,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -11219,7 +11676,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -11260,7 +11717,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -11301,7 +11758,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -11398,6 +11855,8 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11408,6 +11867,9 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11426,6 +11888,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11459,12 +11922,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -11511,12 +11974,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -11563,12 +12026,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -11615,12 +12078,12 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -11717,6 +12180,8 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11727,6 +12192,9 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11793,6 +12261,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11815,7 +12284,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -11851,7 +12320,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -11887,7 +12356,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -11923,7 +12392,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -12020,6 +12489,8 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12030,6 +12501,9 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12048,6 +12522,7 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -12076,12 +12551,12 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -12123,12 +12598,12 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -12170,12 +12645,12 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -12217,12 +12692,12 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -12319,6 +12794,8 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12329,6 +12806,9 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12347,6 +12827,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -12374,7 +12855,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -12415,7 +12896,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -12456,7 +12937,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -12497,7 +12978,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -12594,6 +13075,8 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12604,6 +13087,9 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12622,6 +13108,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -12655,12 +13142,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -12707,12 +13194,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -12759,12 +13246,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -12811,12 +13298,12 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -12913,6 +13400,8 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12923,6 +13412,9 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12957,6 +13449,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -12979,7 +13472,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -13015,7 +13508,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -13051,7 +13544,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -13087,7 +13580,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); @@ -13184,6 +13677,8 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13194,6 +13689,9 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13212,6 +13710,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -13240,12 +13739,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -13287,12 +13786,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -13334,12 +13833,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -13381,12 +13880,12 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8(); @@ -13483,6 +13982,8 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13493,6 +13994,9 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13527,6 +14031,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -13548,7 +14053,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -13575,7 +14080,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -13602,7 +14107,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -13629,7 +14134,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -13686,6 +14191,8 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13696,6 +14203,9 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13714,6 +14224,7 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -13741,12 +14252,12 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -13779,12 +14290,12 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -13817,12 +14328,12 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -13855,12 +14366,12 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -13917,6 +14428,8 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13927,6 +14440,9 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13945,6 +14461,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -13971,7 +14488,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -14003,7 +14520,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -14035,7 +14552,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -14067,7 +14584,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -14124,6 +14641,8 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14134,6 +14653,9 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14152,6 +14674,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -14184,12 +14707,12 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -14227,12 +14750,12 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -14270,12 +14793,12 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -14313,12 +14836,12 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -14375,6 +14898,8 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14385,6 +14910,9 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14531,6 +15059,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -14553,7 +15082,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -14589,7 +15118,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -14625,7 +15154,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -14661,7 +15190,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -14758,6 +15287,8 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14768,6 +15299,9 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14786,6 +15320,7 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -14814,12 +15349,12 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -14861,12 +15396,12 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -14908,12 +15443,12 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -14955,12 +15490,12 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -15057,6 +15592,8 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15067,6 +15604,9 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15085,6 +15625,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15112,7 +15653,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -15153,7 +15694,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -15194,7 +15735,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -15235,7 +15776,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); @@ -15332,6 +15873,8 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15342,6 +15885,9 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15360,6 +15906,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15393,12 +15940,12 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -15445,12 +15992,12 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -15497,12 +16044,12 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -15549,12 +16096,12 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4(); } - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4(); @@ -15651,6 +16198,8 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15661,6 +16210,9 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } diff --git a/linetoscr_aga_fm1.cpp b/linetoscr_aga_fm1.cpp index 4f0d3dba..79553f87 100644 --- a/linetoscr_aga_fm1.cpp +++ b/linetoscr_aga_fm1.cpp @@ -15,6 +15,7 @@ static void lts_aga_fm1_n0_p2_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -28,7 +29,7 @@ static void lts_aga_fm1_n0_p2_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -49,6 +50,8 @@ static void lts_aga_fm1_n0_p2_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -59,6 +62,9 @@ static void lts_aga_fm1_n0_p2_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -77,6 +83,7 @@ static void lts_aga_fm1_n1_p2_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -90,10 +97,10 @@ static void lts_aga_fm1_n1_p2_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -114,6 +121,8 @@ static void lts_aga_fm1_n1_p2_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -124,6 +133,9 @@ static void lts_aga_fm1_n1_p2_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -142,6 +154,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -160,7 +173,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -181,6 +194,8 @@ static void lts_aga_fm1_dpf0_p2_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -191,6 +206,9 @@ static void lts_aga_fm1_dpf0_p2_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -209,6 +227,7 @@ static void lts_aga_fm1_dpf1_p2_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -227,10 +246,10 @@ static void lts_aga_fm1_dpf1_p2_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -251,6 +270,8 @@ static void lts_aga_fm1_dpf1_p2_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -261,6 +282,9 @@ static void lts_aga_fm1_dpf1_p2_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -327,6 +351,7 @@ static void lts_aga_fm1_n0_p4_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -340,7 +365,7 @@ static void lts_aga_fm1_n0_p4_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -361,6 +386,8 @@ static void lts_aga_fm1_n0_p4_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -371,6 +398,9 @@ static void lts_aga_fm1_n0_p4_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -389,6 +419,7 @@ static void lts_aga_fm1_n1_p4_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -402,10 +433,10 @@ static void lts_aga_fm1_n1_p4_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -426,6 +457,8 @@ static void lts_aga_fm1_n1_p4_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -436,6 +469,9 @@ static void lts_aga_fm1_n1_p4_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -454,6 +490,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -472,7 +509,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -493,6 +530,8 @@ static void lts_aga_fm1_dpf0_p4_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -503,6 +542,9 @@ static void lts_aga_fm1_dpf0_p4_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -521,6 +563,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -539,10 +582,10 @@ static void lts_aga_fm1_dpf1_p4_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -563,6 +606,8 @@ static void lts_aga_fm1_dpf1_p4_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -573,6 +618,9 @@ static void lts_aga_fm1_dpf1_p4_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -639,6 +687,7 @@ static void lts_aga_fm1_n0_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -652,7 +701,7 @@ static void lts_aga_fm1_n0_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -673,6 +722,8 @@ static void lts_aga_fm1_n0_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -683,6 +734,9 @@ static void lts_aga_fm1_n0_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -701,6 +755,7 @@ static void lts_aga_fm1_n1_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -714,10 +769,10 @@ static void lts_aga_fm1_n1_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -738,6 +793,8 @@ static void lts_aga_fm1_n1_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -748,6 +805,9 @@ static void lts_aga_fm1_n1_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -766,6 +826,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -784,7 +845,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -805,6 +866,8 @@ static void lts_aga_fm1_dpf0_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -815,6 +878,9 @@ static void lts_aga_fm1_dpf0_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -833,6 +899,7 @@ static void lts_aga_fm1_dpf1_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -851,10 +918,10 @@ static void lts_aga_fm1_dpf1_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -875,6 +942,8 @@ static void lts_aga_fm1_dpf1_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -885,6 +954,9 @@ static void lts_aga_fm1_dpf1_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -903,6 +975,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -922,7 +995,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -943,6 +1016,8 @@ static void lts_aga_fm1_ehb0_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -953,6 +1028,9 @@ static void lts_aga_fm1_ehb0_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -971,6 +1049,7 @@ static void lts_aga_fm1_ehb1_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -990,10 +1069,10 @@ static void lts_aga_fm1_ehb1_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -1014,6 +1093,8 @@ static void lts_aga_fm1_ehb1_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1024,6 +1105,9 @@ static void lts_aga_fm1_ehb1_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1042,6 +1126,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1055,7 +1140,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -1076,6 +1161,8 @@ static void lts_aga_fm1_ham0_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1086,6 +1173,9 @@ static void lts_aga_fm1_ham0_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1104,6 +1194,7 @@ static void lts_aga_fm1_ham1_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1117,10 +1208,10 @@ static void lts_aga_fm1_ham1_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -1141,6 +1232,8 @@ static void lts_aga_fm1_ham1_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1151,6 +1244,9 @@ static void lts_aga_fm1_ham1_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1169,6 +1265,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1183,7 +1280,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -1204,6 +1301,8 @@ static void lts_aga_fm1_kehb0_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1214,6 +1313,9 @@ static void lts_aga_fm1_kehb0_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1232,6 +1334,7 @@ static void lts_aga_fm1_kehb1_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1246,10 +1349,10 @@ static void lts_aga_fm1_kehb1_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -1270,6 +1373,8 @@ static void lts_aga_fm1_kehb1_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1280,6 +1385,9 @@ static void lts_aga_fm1_kehb1_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1298,6 +1406,7 @@ static void lts_aga_fm1_n0_p8_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1311,7 +1420,7 @@ static void lts_aga_fm1_n0_p8_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -1332,6 +1441,8 @@ static void lts_aga_fm1_n0_p8_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1342,6 +1453,9 @@ static void lts_aga_fm1_n0_p8_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1360,6 +1474,7 @@ static void lts_aga_fm1_n1_p8_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1373,10 +1488,10 @@ static void lts_aga_fm1_n1_p8_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -1397,6 +1512,8 @@ static void lts_aga_fm1_n1_p8_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1407,6 +1524,9 @@ static void lts_aga_fm1_n1_p8_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1425,6 +1545,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1443,7 +1564,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -1464,6 +1585,8 @@ static void lts_aga_fm1_dpf0_p8_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1474,6 +1597,9 @@ static void lts_aga_fm1_dpf0_p8_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1492,6 +1618,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1510,10 +1637,10 @@ static void lts_aga_fm1_dpf1_p8_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -1534,6 +1661,8 @@ static void lts_aga_fm1_dpf1_p8_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1544,6 +1673,9 @@ static void lts_aga_fm1_dpf1_p8_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1578,6 +1710,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1591,7 +1724,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -1612,6 +1745,8 @@ static void lts_aga_fm1_ham0_p8_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1622,6 +1757,9 @@ static void lts_aga_fm1_ham0_p8_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1640,6 +1778,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1653,10 +1792,10 @@ static void lts_aga_fm1_ham1_p8_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -1677,6 +1816,8 @@ static void lts_aga_fm1_ham1_p8_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1687,6 +1828,9 @@ static void lts_aga_fm1_ham1_p8_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1721,6 +1865,7 @@ static void lts_aga_fm1_n0_p2_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1735,7 +1880,7 @@ static void lts_aga_fm1_n0_p2_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -1770,6 +1915,8 @@ static void lts_aga_fm1_n0_p2_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1780,6 +1927,9 @@ static void lts_aga_fm1_n0_p2_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1798,6 +1948,7 @@ static void lts_aga_fm1_n1_p2_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1812,10 +1963,10 @@ static void lts_aga_fm1_n1_p2_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -1850,6 +2001,8 @@ static void lts_aga_fm1_n1_p2_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1860,6 +2013,9 @@ static void lts_aga_fm1_n1_p2_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1878,6 +2034,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1897,7 +2054,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -1932,6 +2089,8 @@ static void lts_aga_fm1_dpf0_p2_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1942,6 +2101,9 @@ static void lts_aga_fm1_dpf0_p2_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1960,6 +2122,7 @@ static void lts_aga_fm1_dpf1_p2_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1979,10 +2142,10 @@ static void lts_aga_fm1_dpf1_p2_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -2017,6 +2180,8 @@ static void lts_aga_fm1_dpf1_p2_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2027,6 +2192,9 @@ static void lts_aga_fm1_dpf1_p2_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2093,6 +2261,7 @@ static void lts_aga_fm1_n0_p4_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2107,7 +2276,7 @@ static void lts_aga_fm1_n0_p4_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -2142,6 +2311,8 @@ static void lts_aga_fm1_n0_p4_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2152,6 +2323,9 @@ static void lts_aga_fm1_n0_p4_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2170,6 +2344,7 @@ static void lts_aga_fm1_n1_p4_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2184,10 +2359,10 @@ static void lts_aga_fm1_n1_p4_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -2222,6 +2397,8 @@ static void lts_aga_fm1_n1_p4_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2232,6 +2409,9 @@ static void lts_aga_fm1_n1_p4_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2250,6 +2430,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2269,7 +2450,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -2304,6 +2485,8 @@ static void lts_aga_fm1_dpf0_p4_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2314,6 +2497,9 @@ static void lts_aga_fm1_dpf0_p4_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2332,6 +2518,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2351,10 +2538,10 @@ static void lts_aga_fm1_dpf1_p4_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -2389,6 +2576,8 @@ static void lts_aga_fm1_dpf1_p4_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2399,6 +2588,9 @@ static void lts_aga_fm1_dpf1_p4_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2465,6 +2657,7 @@ static void lts_aga_fm1_n0_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2479,7 +2672,7 @@ static void lts_aga_fm1_n0_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -2514,6 +2707,8 @@ static void lts_aga_fm1_n0_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2524,6 +2719,9 @@ static void lts_aga_fm1_n0_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2542,6 +2740,7 @@ static void lts_aga_fm1_n1_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2556,10 +2755,10 @@ static void lts_aga_fm1_n1_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -2594,6 +2793,8 @@ static void lts_aga_fm1_n1_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2604,6 +2805,9 @@ static void lts_aga_fm1_n1_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2622,6 +2826,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2641,7 +2846,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -2676,6 +2881,8 @@ static void lts_aga_fm1_dpf0_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2686,6 +2893,9 @@ static void lts_aga_fm1_dpf0_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2704,6 +2914,7 @@ static void lts_aga_fm1_dpf1_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2723,10 +2934,10 @@ static void lts_aga_fm1_dpf1_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -2761,6 +2972,8 @@ static void lts_aga_fm1_dpf1_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2771,6 +2984,9 @@ static void lts_aga_fm1_dpf1_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2789,6 +3005,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2809,7 +3026,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -2844,6 +3061,8 @@ static void lts_aga_fm1_ehb0_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2854,6 +3073,9 @@ static void lts_aga_fm1_ehb0_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2872,6 +3094,7 @@ static void lts_aga_fm1_ehb1_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2892,10 +3115,10 @@ static void lts_aga_fm1_ehb1_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -2930,6 +3153,8 @@ static void lts_aga_fm1_ehb1_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2940,6 +3165,9 @@ static void lts_aga_fm1_ehb1_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2958,6 +3186,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2972,7 +3201,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -3007,6 +3236,8 @@ static void lts_aga_fm1_ham0_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3017,6 +3248,9 @@ static void lts_aga_fm1_ham0_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3035,6 +3269,7 @@ static void lts_aga_fm1_ham1_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3049,10 +3284,10 @@ static void lts_aga_fm1_ham1_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -3087,6 +3322,8 @@ static void lts_aga_fm1_ham1_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3097,6 +3334,9 @@ static void lts_aga_fm1_ham1_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3115,6 +3355,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3130,7 +3371,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -3165,6 +3406,8 @@ static void lts_aga_fm1_kehb0_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3175,6 +3418,9 @@ static void lts_aga_fm1_kehb0_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3193,6 +3439,7 @@ static void lts_aga_fm1_kehb1_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3208,10 +3455,10 @@ static void lts_aga_fm1_kehb1_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -3246,6 +3493,8 @@ static void lts_aga_fm1_kehb1_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3256,6 +3505,9 @@ static void lts_aga_fm1_kehb1_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3274,6 +3526,7 @@ static void lts_aga_fm1_n0_p8_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3288,7 +3541,7 @@ static void lts_aga_fm1_n0_p8_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -3323,6 +3576,8 @@ static void lts_aga_fm1_n0_p8_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3333,6 +3588,9 @@ static void lts_aga_fm1_n0_p8_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3351,6 +3609,7 @@ static void lts_aga_fm1_n1_p8_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3365,10 +3624,10 @@ static void lts_aga_fm1_n1_p8_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -3403,6 +3662,8 @@ static void lts_aga_fm1_n1_p8_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3413,6 +3674,9 @@ static void lts_aga_fm1_n1_p8_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3431,6 +3695,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3450,7 +3715,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -3485,6 +3750,8 @@ static void lts_aga_fm1_dpf0_p8_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3495,6 +3762,9 @@ static void lts_aga_fm1_dpf0_p8_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3513,6 +3783,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3532,10 +3803,10 @@ static void lts_aga_fm1_dpf1_p8_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -3570,6 +3841,8 @@ static void lts_aga_fm1_dpf1_p8_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3580,6 +3853,9 @@ static void lts_aga_fm1_dpf1_p8_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3614,6 +3890,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3628,7 +3905,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -3663,6 +3940,8 @@ static void lts_aga_fm1_ham0_p8_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3673,6 +3952,9 @@ static void lts_aga_fm1_ham0_p8_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3691,6 +3973,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3705,10 +3988,10 @@ static void lts_aga_fm1_ham1_p8_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -3743,6 +4026,8 @@ static void lts_aga_fm1_ham1_p8_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3753,6 +4038,9 @@ static void lts_aga_fm1_ham1_p8_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3787,6 +4075,7 @@ static void lts_aga_fm1_n0_p2_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -3800,7 +4089,7 @@ static void lts_aga_fm1_n0_p2_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -3822,6 +4111,8 @@ static void lts_aga_fm1_n0_p2_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3832,6 +4123,9 @@ static void lts_aga_fm1_n0_p2_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3846,6 +4140,7 @@ static void lts_aga_fm1_n0_p2_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -3859,7 +4154,7 @@ static void lts_aga_fm1_n0_p2_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -3876,7 +4171,7 @@ static void lts_aga_fm1_n0_p2_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -3898,6 +4193,8 @@ static void lts_aga_fm1_n0_p2_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3908,6 +4205,9 @@ static void lts_aga_fm1_n0_p2_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3922,6 +4222,7 @@ static void lts_aga_fm1_n1_p2_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -3935,10 +4236,10 @@ static void lts_aga_fm1_n1_p2_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -3960,6 +4261,8 @@ static void lts_aga_fm1_n1_p2_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3970,6 +4273,9 @@ static void lts_aga_fm1_n1_p2_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3984,6 +4290,7 @@ static void lts_aga_fm1_n1_p2_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -3997,10 +4304,10 @@ static void lts_aga_fm1_n1_p2_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -4017,10 +4324,10 @@ static void lts_aga_fm1_n1_p2_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -4042,6 +4349,8 @@ static void lts_aga_fm1_n1_p2_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4052,6 +4361,9 @@ static void lts_aga_fm1_n1_p2_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4066,6 +4378,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4084,7 +4397,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -4106,6 +4419,8 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4116,6 +4431,9 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4130,6 +4448,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4148,7 +4467,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -4170,7 +4489,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -4192,6 +4511,8 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4202,6 +4523,9 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4216,6 +4540,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4234,10 +4559,10 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -4259,6 +4584,8 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4269,6 +4596,9 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4283,6 +4613,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4301,10 +4632,10 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -4326,10 +4657,10 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -4351,6 +4682,8 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4361,6 +4694,9 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4423,6 +4759,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4436,7 +4773,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -4458,6 +4795,8 @@ static void lts_aga_fm1_n0_p4_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4468,6 +4807,9 @@ static void lts_aga_fm1_n0_p4_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4482,6 +4824,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4495,7 +4838,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -4512,7 +4855,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -4534,6 +4877,8 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4544,6 +4889,9 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4558,6 +4906,7 @@ static void lts_aga_fm1_n1_p4_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4571,10 +4920,10 @@ static void lts_aga_fm1_n1_p4_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -4596,6 +4945,8 @@ static void lts_aga_fm1_n1_p4_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4606,6 +4957,9 @@ static void lts_aga_fm1_n1_p4_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4620,6 +4974,7 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4633,10 +4988,10 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -4653,10 +5008,10 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -4678,6 +5033,8 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4688,6 +5045,9 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4702,6 +5062,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4720,7 +5081,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -4742,6 +5103,8 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4752,6 +5115,9 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4766,6 +5132,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4784,7 +5151,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -4806,7 +5173,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -4828,6 +5195,8 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4838,6 +5207,9 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4852,6 +5224,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4870,10 +5243,10 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -4895,6 +5268,8 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4905,6 +5280,9 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4919,6 +5297,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4937,10 +5316,10 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -4962,10 +5341,10 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -4987,6 +5366,8 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4997,6 +5378,9 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5059,6 +5443,7 @@ static void lts_aga_fm1_n0_p6_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5072,7 +5457,7 @@ static void lts_aga_fm1_n0_p6_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -5094,6 +5479,8 @@ static void lts_aga_fm1_n0_p6_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5104,6 +5491,9 @@ static void lts_aga_fm1_n0_p6_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5118,6 +5508,7 @@ static void lts_aga_fm1_n0_p6_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5131,7 +5522,7 @@ static void lts_aga_fm1_n0_p6_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -5148,7 +5539,7 @@ static void lts_aga_fm1_n0_p6_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -5170,6 +5561,8 @@ static void lts_aga_fm1_n0_p6_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5180,6 +5573,9 @@ static void lts_aga_fm1_n0_p6_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5194,6 +5590,7 @@ static void lts_aga_fm1_n1_p6_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5207,10 +5604,10 @@ static void lts_aga_fm1_n1_p6_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -5232,6 +5629,8 @@ static void lts_aga_fm1_n1_p6_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5242,6 +5641,9 @@ static void lts_aga_fm1_n1_p6_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5256,6 +5658,7 @@ static void lts_aga_fm1_n1_p6_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5269,10 +5672,10 @@ static void lts_aga_fm1_n1_p6_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -5289,10 +5692,10 @@ static void lts_aga_fm1_n1_p6_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -5314,6 +5717,8 @@ static void lts_aga_fm1_n1_p6_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5324,6 +5729,9 @@ static void lts_aga_fm1_n1_p6_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5338,6 +5746,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5356,7 +5765,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -5378,6 +5787,8 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5388,6 +5799,9 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5402,6 +5816,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5420,7 +5835,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -5442,7 +5857,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -5464,6 +5879,8 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5474,6 +5891,9 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5488,6 +5908,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5506,10 +5927,10 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -5531,6 +5952,8 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5541,6 +5964,9 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5555,6 +5981,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5573,10 +6000,10 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -5598,10 +6025,10 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -5623,6 +6050,8 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5633,6 +6062,9 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5647,6 +6079,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5666,7 +6099,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -5688,6 +6121,8 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5698,6 +6133,9 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5712,6 +6150,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5731,7 +6170,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -5754,7 +6193,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -5776,6 +6215,8 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5786,6 +6227,9 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5800,6 +6244,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5819,10 +6264,10 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -5844,6 +6289,8 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5854,6 +6301,9 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5868,6 +6318,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5887,10 +6338,10 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -5913,10 +6364,10 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -5938,6 +6389,8 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5948,6 +6401,9 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5962,6 +6418,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5975,7 +6432,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -5991,7 +6448,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -6012,6 +6469,8 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6022,6 +6481,9 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6036,6 +6498,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6049,7 +6512,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -6066,7 +6529,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -6088,6 +6551,8 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6098,6 +6563,9 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6112,6 +6580,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6125,10 +6594,10 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -6144,10 +6613,10 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -6168,6 +6637,8 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6178,6 +6649,9 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6192,6 +6666,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6205,10 +6680,10 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -6225,10 +6700,10 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -6250,6 +6725,8 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6260,6 +6737,9 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6274,6 +6754,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6288,7 +6769,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -6310,6 +6791,8 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6320,6 +6803,9 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6334,6 +6820,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6348,7 +6835,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -6366,7 +6853,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -6388,6 +6875,8 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6398,6 +6887,9 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6412,6 +6904,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6426,10 +6919,10 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -6451,6 +6944,8 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6461,6 +6956,9 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6475,6 +6973,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6489,10 +6988,10 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -6510,10 +7009,10 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -6535,6 +7034,8 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6545,6 +7046,9 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6559,6 +7063,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6572,7 +7077,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -6594,6 +7099,8 @@ static void lts_aga_fm1_n0_p8_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6604,6 +7111,9 @@ static void lts_aga_fm1_n0_p8_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6618,6 +7128,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6631,7 +7142,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -6648,7 +7159,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -6670,6 +7181,8 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6680,6 +7193,9 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6694,6 +7210,7 @@ static void lts_aga_fm1_n1_p8_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6707,10 +7224,10 @@ static void lts_aga_fm1_n1_p8_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -6732,6 +7249,8 @@ static void lts_aga_fm1_n1_p8_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6742,6 +7261,9 @@ static void lts_aga_fm1_n1_p8_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6756,6 +7278,7 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6769,10 +7292,10 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -6789,10 +7312,10 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -6814,6 +7337,8 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6824,6 +7349,9 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6838,6 +7366,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6856,7 +7385,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -6878,6 +7407,8 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6888,6 +7419,9 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6902,6 +7436,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6920,7 +7455,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -6942,7 +7477,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -6964,6 +7499,8 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6974,6 +7511,9 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6988,6 +7528,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -7006,10 +7547,10 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -7031,6 +7572,8 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7041,6 +7584,9 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7055,6 +7601,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -7073,10 +7620,10 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -7098,10 +7645,10 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -7123,6 +7670,8 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7133,6 +7682,9 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7163,6 +7715,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -7176,7 +7729,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -7192,7 +7745,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -7213,6 +7766,8 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7223,6 +7778,9 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7237,6 +7795,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -7250,7 +7809,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -7267,7 +7826,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -7289,6 +7848,8 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7299,6 +7860,9 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7313,6 +7877,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -7326,10 +7891,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -7345,10 +7910,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -7369,6 +7934,8 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7379,6 +7946,9 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7393,6 +7963,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -7406,10 +7977,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -7426,10 +7997,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -7451,6 +8022,8 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7461,6 +8034,9 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7491,6 +8067,7 @@ static void lts_aga_fm1_n0_p2_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7505,7 +8082,7 @@ static void lts_aga_fm1_n0_p2_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -7541,6 +8118,8 @@ static void lts_aga_fm1_n0_p2_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7551,6 +8130,9 @@ static void lts_aga_fm1_n0_p2_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7565,6 +8147,7 @@ static void lts_aga_fm1_n0_p2_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7579,7 +8162,7 @@ static void lts_aga_fm1_n0_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -7604,7 +8187,7 @@ static void lts_aga_fm1_n0_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -7633,6 +8216,8 @@ static void lts_aga_fm1_n0_p2_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7643,6 +8228,9 @@ static void lts_aga_fm1_n0_p2_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7657,6 +8245,7 @@ static void lts_aga_fm1_n1_p2_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7671,10 +8260,10 @@ static void lts_aga_fm1_n1_p2_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -7710,6 +8299,8 @@ static void lts_aga_fm1_n1_p2_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7720,6 +8311,9 @@ static void lts_aga_fm1_n1_p2_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7734,6 +8328,7 @@ static void lts_aga_fm1_n1_p2_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7748,10 +8343,10 @@ static void lts_aga_fm1_n1_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -7776,10 +8371,10 @@ static void lts_aga_fm1_n1_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -7808,6 +8403,8 @@ static void lts_aga_fm1_n1_p2_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7818,6 +8415,9 @@ static void lts_aga_fm1_n1_p2_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7832,6 +8432,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7851,7 +8452,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -7887,6 +8488,8 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7897,6 +8500,9 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7911,6 +8517,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7930,7 +8537,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -7960,7 +8567,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -7989,6 +8596,8 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7999,6 +8608,9 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8013,6 +8625,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8032,10 +8645,10 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -8071,6 +8684,8 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8081,6 +8696,9 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8095,6 +8713,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8114,10 +8733,10 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -8147,10 +8766,10 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -8179,6 +8798,8 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8189,6 +8810,9 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8251,6 +8875,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8265,7 +8890,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -8301,6 +8926,8 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8311,6 +8938,9 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8325,6 +8955,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8339,7 +8970,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -8364,7 +8995,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -8393,6 +9024,8 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8403,6 +9036,9 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8417,6 +9053,7 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8431,10 +9068,10 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -8470,6 +9107,8 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8480,6 +9119,9 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8494,6 +9136,7 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8508,10 +9151,10 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -8536,10 +9179,10 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -8568,6 +9211,8 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8578,6 +9223,9 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8592,6 +9240,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8611,7 +9260,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -8647,6 +9296,8 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8657,6 +9308,9 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8671,6 +9325,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8690,7 +9345,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -8720,7 +9375,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -8749,6 +9404,8 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8759,6 +9416,9 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8773,6 +9433,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8792,10 +9453,10 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -8831,6 +9492,8 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8841,6 +9504,9 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8855,6 +9521,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8874,10 +9541,10 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -8907,10 +9574,10 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -8939,6 +9606,8 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8949,6 +9618,9 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9011,6 +9683,7 @@ static void lts_aga_fm1_n0_p6_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9025,7 +9698,7 @@ static void lts_aga_fm1_n0_p6_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -9061,6 +9734,8 @@ static void lts_aga_fm1_n0_p6_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9071,6 +9746,9 @@ static void lts_aga_fm1_n0_p6_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9085,6 +9763,7 @@ static void lts_aga_fm1_n0_p6_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9099,7 +9778,7 @@ static void lts_aga_fm1_n0_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -9124,7 +9803,7 @@ static void lts_aga_fm1_n0_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -9153,6 +9832,8 @@ static void lts_aga_fm1_n0_p6_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9163,6 +9844,9 @@ static void lts_aga_fm1_n0_p6_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9177,6 +9861,7 @@ static void lts_aga_fm1_n1_p6_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9191,10 +9876,10 @@ static void lts_aga_fm1_n1_p6_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -9230,6 +9915,8 @@ static void lts_aga_fm1_n1_p6_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9240,6 +9927,9 @@ static void lts_aga_fm1_n1_p6_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9254,6 +9944,7 @@ static void lts_aga_fm1_n1_p6_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9268,10 +9959,10 @@ static void lts_aga_fm1_n1_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -9296,10 +9987,10 @@ static void lts_aga_fm1_n1_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -9328,6 +10019,8 @@ static void lts_aga_fm1_n1_p6_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9338,6 +10031,9 @@ static void lts_aga_fm1_n1_p6_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9352,6 +10048,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9371,7 +10068,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -9407,6 +10104,8 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9417,6 +10116,9 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9431,6 +10133,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9450,7 +10153,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -9480,7 +10183,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -9509,6 +10212,8 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9519,6 +10224,9 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9533,6 +10241,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9552,10 +10261,10 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -9591,6 +10300,8 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9601,6 +10312,9 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9615,6 +10329,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9634,10 +10349,10 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -9667,10 +10382,10 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -9699,6 +10414,8 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9709,6 +10426,9 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9723,6 +10443,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9743,7 +10464,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -9779,6 +10500,8 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9789,6 +10512,9 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9803,6 +10529,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9823,7 +10550,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -9854,7 +10581,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -9883,6 +10610,8 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9893,6 +10622,9 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9907,6 +10639,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9927,10 +10660,10 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -9966,6 +10699,8 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9976,6 +10711,9 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9990,6 +10728,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10010,10 +10749,10 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -10044,10 +10783,10 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -10076,6 +10815,8 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10086,6 +10827,9 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10100,6 +10844,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10114,7 +10859,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -10138,7 +10883,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_spr(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -10165,6 +10910,8 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10175,6 +10922,9 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10189,6 +10939,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10203,7 +10954,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -10228,7 +10979,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -10257,6 +11008,8 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10267,6 +11020,9 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10281,6 +11037,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10295,10 +11052,10 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -10322,10 +11079,10 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_spr(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -10352,6 +11109,8 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10362,6 +11121,9 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10376,6 +11138,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10390,10 +11153,10 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -10418,10 +11181,10 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -10450,6 +11213,8 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10460,6 +11225,9 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10474,6 +11242,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10489,7 +11258,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -10525,6 +11294,8 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10535,6 +11306,9 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10549,6 +11323,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10564,7 +11339,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -10590,7 +11365,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -10619,6 +11394,8 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10629,6 +11406,9 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10643,6 +11423,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10658,10 +11439,10 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -10697,6 +11478,8 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10707,6 +11490,9 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10721,6 +11507,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10736,10 +11523,10 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -10765,10 +11552,10 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -10797,6 +11584,8 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10807,6 +11596,9 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10821,6 +11613,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10835,7 +11628,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -10871,6 +11664,8 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10881,6 +11676,9 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10895,6 +11693,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10909,7 +11708,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -10934,7 +11733,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -10963,6 +11762,8 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10973,6 +11774,9 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10987,6 +11791,7 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11001,10 +11806,10 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -11040,6 +11845,8 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11050,6 +11857,9 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11064,6 +11874,7 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11078,10 +11889,10 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -11106,10 +11917,10 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -11138,6 +11949,8 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11148,6 +11961,9 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11162,6 +11978,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11181,7 +11998,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -11217,6 +12034,8 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11227,6 +12046,9 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11241,6 +12063,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11260,7 +12083,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -11290,7 +12113,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -11319,6 +12142,8 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11329,6 +12154,9 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11343,6 +12171,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11362,10 +12191,10 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -11401,6 +12230,8 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11411,6 +12242,9 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11425,6 +12259,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11444,10 +12279,10 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -11477,10 +12312,10 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -11509,6 +12344,8 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11519,6 +12356,9 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11549,6 +12389,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11563,7 +12404,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -11587,7 +12428,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -11614,6 +12455,8 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11624,6 +12467,9 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11638,6 +12484,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11652,7 +12499,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -11677,7 +12524,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -11706,6 +12553,8 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11716,6 +12565,9 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11730,6 +12582,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11744,10 +12597,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -11771,10 +12624,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -11801,6 +12654,8 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11811,6 +12666,9 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11825,6 +12683,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11839,10 +12698,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -11867,10 +12726,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -11899,6 +12758,8 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11909,6 +12770,9 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12579,6 +13443,7 @@ static void lts_aga_fm1_n0_p2_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -12597,7 +13462,7 @@ static void lts_aga_fm1_n0_p2_ilores_dhires(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -12621,7 +13486,7 @@ static void lts_aga_fm1_n0_p2_ilores_dhires(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -12652,6 +13517,8 @@ static void lts_aga_fm1_n0_p2_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12662,6 +13529,9 @@ static void lts_aga_fm1_n0_p2_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12680,6 +13550,7 @@ static void lts_aga_fm1_n1_p2_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -12704,12 +13575,12 @@ static void lts_aga_fm1_n1_p2_ilores_dhires(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -12739,12 +13610,12 @@ static void lts_aga_fm1_n1_p2_ilores_dhires(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -12775,6 +13646,8 @@ static void lts_aga_fm1_n1_p2_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12785,6 +13658,9 @@ static void lts_aga_fm1_n1_p2_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12803,6 +13679,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -12826,7 +13703,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dhires(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -12855,7 +13732,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dhires(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -12886,6 +13763,8 @@ static void lts_aga_fm1_dpf0_p2_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12896,6 +13775,9 @@ static void lts_aga_fm1_dpf0_p2_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12914,6 +13796,7 @@ static void lts_aga_fm1_dpf1_p2_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -12943,12 +13826,12 @@ static void lts_aga_fm1_dpf1_p2_ilores_dhires(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -12983,12 +13866,12 @@ static void lts_aga_fm1_dpf1_p2_ilores_dhires(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -13019,6 +13902,8 @@ static void lts_aga_fm1_dpf1_p2_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13029,6 +13914,9 @@ static void lts_aga_fm1_dpf1_p2_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13095,6 +13983,7 @@ static void lts_aga_fm1_n0_p4_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -13113,7 +14002,7 @@ static void lts_aga_fm1_n0_p4_ilores_dhires(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -13137,7 +14026,7 @@ static void lts_aga_fm1_n0_p4_ilores_dhires(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -13168,6 +14057,8 @@ static void lts_aga_fm1_n0_p4_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13178,6 +14069,9 @@ static void lts_aga_fm1_n0_p4_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13196,6 +14090,7 @@ static void lts_aga_fm1_n1_p4_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -13220,12 +14115,12 @@ static void lts_aga_fm1_n1_p4_ilores_dhires(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -13255,12 +14150,12 @@ static void lts_aga_fm1_n1_p4_ilores_dhires(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -13291,6 +14186,8 @@ static void lts_aga_fm1_n1_p4_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13301,6 +14198,9 @@ static void lts_aga_fm1_n1_p4_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13319,6 +14219,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -13342,7 +14243,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -13371,7 +14272,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -13402,6 +14303,8 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13412,6 +14315,9 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13430,6 +14336,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -13459,12 +14366,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -13499,12 +14406,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -13535,6 +14442,8 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13545,6 +14454,9 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13611,6 +14523,7 @@ static void lts_aga_fm1_n0_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -13629,7 +14542,7 @@ static void lts_aga_fm1_n0_p6_ilores_dhires(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -13653,7 +14566,7 @@ static void lts_aga_fm1_n0_p6_ilores_dhires(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -13684,6 +14597,8 @@ static void lts_aga_fm1_n0_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13694,6 +14609,9 @@ static void lts_aga_fm1_n0_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13712,6 +14630,7 @@ static void lts_aga_fm1_n1_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -13736,12 +14655,12 @@ static void lts_aga_fm1_n1_p6_ilores_dhires(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -13771,12 +14690,12 @@ static void lts_aga_fm1_n1_p6_ilores_dhires(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -13807,6 +14726,8 @@ static void lts_aga_fm1_n1_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13817,6 +14738,9 @@ static void lts_aga_fm1_n1_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13835,6 +14759,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -13858,7 +14783,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dhires(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -13887,7 +14812,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dhires(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -13918,6 +14843,8 @@ static void lts_aga_fm1_dpf0_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13928,6 +14855,9 @@ static void lts_aga_fm1_dpf0_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13946,6 +14876,7 @@ static void lts_aga_fm1_dpf1_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -13975,12 +14906,12 @@ static void lts_aga_fm1_dpf1_p6_ilores_dhires(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -14015,12 +14946,12 @@ static void lts_aga_fm1_dpf1_p6_ilores_dhires(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -14051,6 +14982,8 @@ static void lts_aga_fm1_dpf1_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14061,6 +14994,9 @@ static void lts_aga_fm1_dpf1_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14079,6 +15015,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14103,7 +15040,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dhires(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -14133,7 +15070,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dhires(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -14164,6 +15101,8 @@ static void lts_aga_fm1_ehb0_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14174,6 +15113,9 @@ static void lts_aga_fm1_ehb0_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14192,6 +15134,7 @@ static void lts_aga_fm1_ehb1_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14222,12 +15165,12 @@ static void lts_aga_fm1_ehb1_p6_ilores_dhires(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -14263,12 +15206,12 @@ static void lts_aga_fm1_ehb1_p6_ilores_dhires(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -14299,6 +15242,8 @@ static void lts_aga_fm1_ehb1_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14309,6 +15254,9 @@ static void lts_aga_fm1_ehb1_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14327,6 +15275,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14345,7 +15294,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dhires(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -14369,7 +15318,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dhires(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -14400,6 +15349,8 @@ static void lts_aga_fm1_ham0_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14410,6 +15361,9 @@ static void lts_aga_fm1_ham0_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14428,6 +15382,7 @@ static void lts_aga_fm1_ham1_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14452,12 +15407,12 @@ static void lts_aga_fm1_ham1_p6_ilores_dhires(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -14487,12 +15442,12 @@ static void lts_aga_fm1_ham1_p6_ilores_dhires(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -14523,6 +15478,8 @@ static void lts_aga_fm1_ham1_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14533,6 +15490,9 @@ static void lts_aga_fm1_ham1_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14551,6 +15511,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14570,7 +15531,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dhires(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -14595,7 +15556,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dhires(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -14626,6 +15587,8 @@ static void lts_aga_fm1_kehb0_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14636,6 +15599,9 @@ static void lts_aga_fm1_kehb0_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14654,6 +15620,7 @@ static void lts_aga_fm1_kehb1_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14679,12 +15646,12 @@ static void lts_aga_fm1_kehb1_p6_ilores_dhires(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -14715,12 +15682,12 @@ static void lts_aga_fm1_kehb1_p6_ilores_dhires(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -14751,6 +15718,8 @@ static void lts_aga_fm1_kehb1_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14761,6 +15730,9 @@ static void lts_aga_fm1_kehb1_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14779,6 +15751,7 @@ static void lts_aga_fm1_n0_p8_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14797,7 +15770,7 @@ static void lts_aga_fm1_n0_p8_ilores_dhires(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -14821,7 +15794,7 @@ static void lts_aga_fm1_n0_p8_ilores_dhires(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -14852,6 +15825,8 @@ static void lts_aga_fm1_n0_p8_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14862,6 +15837,9 @@ static void lts_aga_fm1_n0_p8_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14880,6 +15858,7 @@ static void lts_aga_fm1_n1_p8_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14904,12 +15883,12 @@ static void lts_aga_fm1_n1_p8_ilores_dhires(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -14939,12 +15918,12 @@ static void lts_aga_fm1_n1_p8_ilores_dhires(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -14975,6 +15954,8 @@ static void lts_aga_fm1_n1_p8_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14985,6 +15966,9 @@ static void lts_aga_fm1_n1_p8_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15003,6 +15987,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -15026,7 +16011,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -15055,7 +16040,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -15086,6 +16071,8 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15096,6 +16083,9 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15114,6 +16104,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -15143,12 +16134,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -15183,12 +16174,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -15219,6 +16210,8 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15229,6 +16222,9 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15263,6 +16259,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -15281,7 +16278,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -15305,7 +16302,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -15336,6 +16333,8 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15346,6 +16345,9 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15364,6 +16366,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -15388,12 +16391,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -15423,12 +16426,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -15459,6 +16462,8 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15469,6 +16474,9 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15503,6 +16511,7 @@ static void lts_aga_fm1_n0_p2_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15522,7 +16531,7 @@ static void lts_aga_fm1_n0_p2_ilores_dhires_spr(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -15555,7 +16564,7 @@ static void lts_aga_fm1_n0_p2_ilores_dhires_spr(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -15606,6 +16615,8 @@ static void lts_aga_fm1_n0_p2_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15616,6 +16627,9 @@ static void lts_aga_fm1_n0_p2_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15634,6 +16648,7 @@ static void lts_aga_fm1_n1_p2_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15659,12 +16674,12 @@ static void lts_aga_fm1_n1_p2_ilores_dhires_spr(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -15703,12 +16718,12 @@ static void lts_aga_fm1_n1_p2_ilores_dhires_spr(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -15759,6 +16774,8 @@ static void lts_aga_fm1_n1_p2_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15769,6 +16786,9 @@ static void lts_aga_fm1_n1_p2_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15787,6 +16807,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15811,7 +16832,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dhires_spr(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -15849,7 +16870,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dhires_spr(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -15900,6 +16921,8 @@ static void lts_aga_fm1_dpf0_p2_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15910,6 +16933,9 @@ static void lts_aga_fm1_dpf0_p2_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15928,6 +16954,7 @@ static void lts_aga_fm1_dpf1_p2_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15958,12 +16985,12 @@ static void lts_aga_fm1_dpf1_p2_ilores_dhires_spr(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -16007,12 +17034,12 @@ static void lts_aga_fm1_dpf1_p2_ilores_dhires_spr(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -16063,6 +17090,8 @@ static void lts_aga_fm1_dpf1_p2_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16073,6 +17102,9 @@ static void lts_aga_fm1_dpf1_p2_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16139,6 +17171,7 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16158,7 +17191,7 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_spr(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -16191,7 +17224,7 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_spr(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -16242,6 +17275,8 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16252,6 +17287,9 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16270,6 +17308,7 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16295,12 +17334,12 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_spr(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -16339,12 +17378,12 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_spr(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -16395,6 +17434,8 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16405,6 +17446,9 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16423,6 +17467,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16447,7 +17492,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_spr(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -16485,7 +17530,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_spr(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -16536,6 +17581,8 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16546,6 +17593,9 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16564,6 +17614,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16594,12 +17645,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_spr(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -16643,12 +17694,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_spr(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -16699,6 +17750,8 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16709,6 +17762,9 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16775,6 +17831,7 @@ static void lts_aga_fm1_n0_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16794,7 +17851,7 @@ static void lts_aga_fm1_n0_p6_ilores_dhires_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -16827,7 +17884,7 @@ static void lts_aga_fm1_n0_p6_ilores_dhires_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -16878,6 +17935,8 @@ static void lts_aga_fm1_n0_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16888,6 +17947,9 @@ static void lts_aga_fm1_n0_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16906,6 +17968,7 @@ static void lts_aga_fm1_n1_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16931,12 +17994,12 @@ static void lts_aga_fm1_n1_p6_ilores_dhires_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -16975,12 +18038,12 @@ static void lts_aga_fm1_n1_p6_ilores_dhires_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -17031,6 +18094,8 @@ static void lts_aga_fm1_n1_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17041,6 +18106,9 @@ static void lts_aga_fm1_n1_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17059,6 +18127,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17083,7 +18152,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dhires_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -17121,7 +18190,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dhires_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -17172,6 +18241,8 @@ static void lts_aga_fm1_dpf0_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17182,6 +18253,9 @@ static void lts_aga_fm1_dpf0_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17200,6 +18274,7 @@ static void lts_aga_fm1_dpf1_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17230,12 +18305,12 @@ static void lts_aga_fm1_dpf1_p6_ilores_dhires_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -17279,12 +18354,12 @@ static void lts_aga_fm1_dpf1_p6_ilores_dhires_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -17335,6 +18410,8 @@ static void lts_aga_fm1_dpf1_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17345,6 +18422,9 @@ static void lts_aga_fm1_dpf1_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17363,6 +18443,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17388,7 +18469,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dhires_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -17427,7 +18508,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dhires_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -17478,6 +18559,8 @@ static void lts_aga_fm1_ehb0_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17488,6 +18571,9 @@ static void lts_aga_fm1_ehb0_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17506,6 +18592,7 @@ static void lts_aga_fm1_ehb1_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17537,12 +18624,12 @@ static void lts_aga_fm1_ehb1_p6_ilores_dhires_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -17587,12 +18674,12 @@ static void lts_aga_fm1_ehb1_p6_ilores_dhires_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -17643,6 +18730,8 @@ static void lts_aga_fm1_ehb1_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17653,6 +18742,9 @@ static void lts_aga_fm1_ehb1_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17671,6 +18763,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17690,7 +18783,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dhires_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -17723,7 +18816,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dhires_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -17774,6 +18867,8 @@ static void lts_aga_fm1_ham0_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17784,6 +18879,9 @@ static void lts_aga_fm1_ham0_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17802,6 +18900,7 @@ static void lts_aga_fm1_ham1_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17827,12 +18926,12 @@ static void lts_aga_fm1_ham1_p6_ilores_dhires_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -17871,12 +18970,12 @@ static void lts_aga_fm1_ham1_p6_ilores_dhires_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -17927,6 +19026,8 @@ static void lts_aga_fm1_ham1_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17937,6 +19038,9 @@ static void lts_aga_fm1_ham1_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17955,6 +19059,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17975,7 +19080,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dhires_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -18009,7 +19114,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dhires_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -18060,6 +19165,8 @@ static void lts_aga_fm1_kehb0_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18070,6 +19177,9 @@ static void lts_aga_fm1_kehb0_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18088,6 +19198,7 @@ static void lts_aga_fm1_kehb1_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18114,12 +19225,12 @@ static void lts_aga_fm1_kehb1_p6_ilores_dhires_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -18159,12 +19270,12 @@ static void lts_aga_fm1_kehb1_p6_ilores_dhires_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -18215,6 +19326,8 @@ static void lts_aga_fm1_kehb1_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18225,6 +19338,9 @@ static void lts_aga_fm1_kehb1_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18243,6 +19359,7 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18262,7 +19379,7 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -18295,7 +19412,7 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -18346,6 +19463,8 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18356,6 +19475,9 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18374,6 +19496,7 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18399,12 +19522,12 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -18443,12 +19566,12 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -18499,6 +19622,8 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18509,6 +19634,9 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18527,6 +19655,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18551,7 +19680,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -18589,7 +19718,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -18640,6 +19769,8 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18650,6 +19781,9 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18668,6 +19802,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18698,12 +19833,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -18747,12 +19882,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -18803,6 +19938,8 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18813,6 +19950,9 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18847,6 +19987,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18866,7 +20007,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -18899,7 +20040,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -18950,6 +20091,8 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18960,6 +20103,9 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18978,6 +20124,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -19003,12 +20150,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -19047,12 +20194,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -19103,6 +20250,8 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19113,6 +20262,9 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19147,6 +20299,7 @@ static void lts_aga_fm1_n0_p2_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19160,7 +20313,7 @@ static void lts_aga_fm1_n0_p2_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -19178,7 +20331,7 @@ static void lts_aga_fm1_n0_p2_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -19208,6 +20361,8 @@ static void lts_aga_fm1_n0_p2_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19218,6 +20373,9 @@ static void lts_aga_fm1_n0_p2_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19236,6 +20394,7 @@ static void lts_aga_fm1_n1_p2_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19249,10 +20408,10 @@ static void lts_aga_fm1_n1_p2_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -19270,10 +20429,10 @@ static void lts_aga_fm1_n1_p2_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -19303,6 +20462,8 @@ static void lts_aga_fm1_n1_p2_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19313,6 +20474,9 @@ static void lts_aga_fm1_n1_p2_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19331,6 +20495,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19349,7 +20514,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -19372,7 +20537,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -19402,6 +20567,8 @@ static void lts_aga_fm1_dpf0_p2_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19412,6 +20579,9 @@ static void lts_aga_fm1_dpf0_p2_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19430,6 +20600,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19448,10 +20619,10 @@ static void lts_aga_fm1_dpf1_p2_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -19474,10 +20645,10 @@ static void lts_aga_fm1_dpf1_p2_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -19507,6 +20678,8 @@ static void lts_aga_fm1_dpf1_p2_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19517,6 +20690,9 @@ static void lts_aga_fm1_dpf1_p2_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19583,6 +20759,7 @@ static void lts_aga_fm1_n0_p4_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19596,7 +20773,7 @@ static void lts_aga_fm1_n0_p4_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -19614,7 +20791,7 @@ static void lts_aga_fm1_n0_p4_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -19644,6 +20821,8 @@ static void lts_aga_fm1_n0_p4_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19654,6 +20833,9 @@ static void lts_aga_fm1_n0_p4_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19672,6 +20854,7 @@ static void lts_aga_fm1_n1_p4_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19685,10 +20868,10 @@ static void lts_aga_fm1_n1_p4_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -19706,10 +20889,10 @@ static void lts_aga_fm1_n1_p4_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -19739,6 +20922,8 @@ static void lts_aga_fm1_n1_p4_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19749,6 +20934,9 @@ static void lts_aga_fm1_n1_p4_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19767,6 +20955,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19785,7 +20974,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -19808,7 +20997,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -19838,6 +21027,8 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19848,6 +21039,9 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19866,6 +21060,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19884,10 +21079,10 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -19910,10 +21105,10 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -19943,6 +21138,8 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19953,6 +21150,9 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20019,6 +21219,7 @@ static void lts_aga_fm1_n0_p6_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20032,7 +21233,7 @@ static void lts_aga_fm1_n0_p6_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -20050,7 +21251,7 @@ static void lts_aga_fm1_n0_p6_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -20080,6 +21281,8 @@ static void lts_aga_fm1_n0_p6_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20090,6 +21293,9 @@ static void lts_aga_fm1_n0_p6_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20108,6 +21314,7 @@ static void lts_aga_fm1_n1_p6_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20121,10 +21328,10 @@ static void lts_aga_fm1_n1_p6_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -20142,10 +21349,10 @@ static void lts_aga_fm1_n1_p6_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -20175,6 +21382,8 @@ static void lts_aga_fm1_n1_p6_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20185,6 +21394,9 @@ static void lts_aga_fm1_n1_p6_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20203,6 +21415,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20221,7 +21434,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -20244,7 +21457,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -20274,6 +21487,8 @@ static void lts_aga_fm1_dpf0_p6_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20284,6 +21499,9 @@ static void lts_aga_fm1_dpf0_p6_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20302,6 +21520,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20320,10 +21539,10 @@ static void lts_aga_fm1_dpf1_p6_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -20346,10 +21565,10 @@ static void lts_aga_fm1_dpf1_p6_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -20379,6 +21598,8 @@ static void lts_aga_fm1_dpf1_p6_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20389,6 +21610,9 @@ static void lts_aga_fm1_dpf1_p6_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20407,6 +21631,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20426,7 +21651,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -20450,7 +21675,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -20480,6 +21705,8 @@ static void lts_aga_fm1_ehb0_p6_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20490,6 +21717,9 @@ static void lts_aga_fm1_ehb0_p6_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20508,6 +21738,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20527,10 +21758,10 @@ static void lts_aga_fm1_ehb1_p6_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -20554,10 +21785,10 @@ static void lts_aga_fm1_ehb1_p6_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -20587,6 +21818,8 @@ static void lts_aga_fm1_ehb1_p6_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20597,6 +21830,9 @@ static void lts_aga_fm1_ehb1_p6_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20615,6 +21851,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20628,7 +21865,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -20646,7 +21883,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -20676,6 +21913,8 @@ static void lts_aga_fm1_ham0_p6_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20686,6 +21925,9 @@ static void lts_aga_fm1_ham0_p6_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20704,6 +21946,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20717,10 +21960,10 @@ static void lts_aga_fm1_ham1_p6_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -20738,10 +21981,10 @@ static void lts_aga_fm1_ham1_p6_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -20771,6 +22014,8 @@ static void lts_aga_fm1_ham1_p6_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20781,6 +22026,9 @@ static void lts_aga_fm1_ham1_p6_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20799,6 +22047,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20813,7 +22062,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -20832,7 +22081,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -20862,6 +22111,8 @@ static void lts_aga_fm1_kehb0_p6_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20872,6 +22123,9 @@ static void lts_aga_fm1_kehb0_p6_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20890,6 +22144,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20904,10 +22159,10 @@ static void lts_aga_fm1_kehb1_p6_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -20926,10 +22181,10 @@ static void lts_aga_fm1_kehb1_p6_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -20959,6 +22214,8 @@ static void lts_aga_fm1_kehb1_p6_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20969,6 +22226,9 @@ static void lts_aga_fm1_kehb1_p6_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20987,6 +22247,7 @@ static void lts_aga_fm1_n0_p8_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -21000,7 +22261,7 @@ static void lts_aga_fm1_n0_p8_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -21018,7 +22279,7 @@ static void lts_aga_fm1_n0_p8_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -21048,6 +22309,8 @@ static void lts_aga_fm1_n0_p8_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21058,6 +22321,9 @@ static void lts_aga_fm1_n0_p8_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21076,6 +22342,7 @@ static void lts_aga_fm1_n1_p8_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -21089,10 +22356,10 @@ static void lts_aga_fm1_n1_p8_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -21110,10 +22377,10 @@ static void lts_aga_fm1_n1_p8_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -21143,6 +22410,8 @@ static void lts_aga_fm1_n1_p8_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21153,6 +22422,9 @@ static void lts_aga_fm1_n1_p8_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21171,6 +22443,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -21189,7 +22462,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -21212,7 +22485,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -21242,6 +22515,8 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21252,6 +22527,9 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21270,6 +22548,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -21288,10 +22567,10 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -21314,10 +22593,10 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -21347,6 +22626,8 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21357,6 +22638,9 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21391,6 +22675,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -21404,7 +22689,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -21422,7 +22707,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -21452,6 +22737,8 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21462,6 +22749,9 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21480,6 +22770,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -21493,10 +22784,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -21514,10 +22805,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -21547,6 +22838,8 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21557,6 +22850,9 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21591,6 +22887,7 @@ static void lts_aga_fm1_n0_p2_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -21605,7 +22902,7 @@ static void lts_aga_fm1_n0_p2_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -21632,7 +22929,7 @@ static void lts_aga_fm1_n0_p2_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -21682,6 +22979,8 @@ static void lts_aga_fm1_n0_p2_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21692,6 +22991,9 @@ static void lts_aga_fm1_n0_p2_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21710,6 +23012,7 @@ static void lts_aga_fm1_n1_p2_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -21724,10 +23027,10 @@ static void lts_aga_fm1_n1_p2_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -21754,10 +23057,10 @@ static void lts_aga_fm1_n1_p2_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -21807,6 +23110,8 @@ static void lts_aga_fm1_n1_p2_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21817,6 +23122,9 @@ static void lts_aga_fm1_n1_p2_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21835,6 +23143,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -21854,7 +23163,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -21886,7 +23195,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -21936,6 +23245,8 @@ static void lts_aga_fm1_dpf0_p2_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21946,6 +23257,9 @@ static void lts_aga_fm1_dpf0_p2_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21964,6 +23278,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -21983,10 +23298,10 @@ static void lts_aga_fm1_dpf1_p2_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -22018,10 +23333,10 @@ static void lts_aga_fm1_dpf1_p2_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -22071,6 +23386,8 @@ static void lts_aga_fm1_dpf1_p2_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22081,6 +23398,9 @@ static void lts_aga_fm1_dpf1_p2_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22147,6 +23467,7 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -22161,7 +23482,7 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -22188,7 +23509,7 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -22238,6 +23559,8 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22248,6 +23571,9 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22266,6 +23592,7 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -22280,10 +23607,10 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -22310,10 +23637,10 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -22363,6 +23690,8 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22373,6 +23702,9 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22391,6 +23723,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -22410,7 +23743,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -22442,7 +23775,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -22492,6 +23825,8 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22502,6 +23837,9 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22520,6 +23858,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -22539,10 +23878,10 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -22574,10 +23913,10 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -22627,6 +23966,8 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22637,6 +23978,9 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22703,6 +24047,7 @@ static void lts_aga_fm1_n0_p6_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -22717,7 +24062,7 @@ static void lts_aga_fm1_n0_p6_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -22744,7 +24089,7 @@ static void lts_aga_fm1_n0_p6_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -22794,6 +24139,8 @@ static void lts_aga_fm1_n0_p6_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22804,6 +24151,9 @@ static void lts_aga_fm1_n0_p6_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22822,6 +24172,7 @@ static void lts_aga_fm1_n1_p6_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -22836,10 +24187,10 @@ static void lts_aga_fm1_n1_p6_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -22866,10 +24217,10 @@ static void lts_aga_fm1_n1_p6_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -22919,6 +24270,8 @@ static void lts_aga_fm1_n1_p6_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22929,6 +24282,9 @@ static void lts_aga_fm1_n1_p6_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22947,6 +24303,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -22966,7 +24323,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -22998,7 +24355,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -23048,6 +24405,8 @@ static void lts_aga_fm1_dpf0_p6_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23058,6 +24417,9 @@ static void lts_aga_fm1_dpf0_p6_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23076,6 +24438,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23095,10 +24458,10 @@ static void lts_aga_fm1_dpf1_p6_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -23130,10 +24493,10 @@ static void lts_aga_fm1_dpf1_p6_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -23183,6 +24546,8 @@ static void lts_aga_fm1_dpf1_p6_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23193,6 +24558,9 @@ static void lts_aga_fm1_dpf1_p6_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23211,6 +24579,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23231,7 +24600,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -23264,7 +24633,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -23314,6 +24683,8 @@ static void lts_aga_fm1_ehb0_p6_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23324,6 +24695,9 @@ static void lts_aga_fm1_ehb0_p6_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23342,6 +24716,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23362,10 +24737,10 @@ static void lts_aga_fm1_ehb1_p6_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -23398,10 +24773,10 @@ static void lts_aga_fm1_ehb1_p6_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -23451,6 +24826,8 @@ static void lts_aga_fm1_ehb1_p6_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23461,6 +24838,9 @@ static void lts_aga_fm1_ehb1_p6_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23479,6 +24859,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23493,7 +24874,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -23520,7 +24901,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -23570,6 +24951,8 @@ static void lts_aga_fm1_ham0_p6_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23580,6 +24963,9 @@ static void lts_aga_fm1_ham0_p6_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23598,6 +24984,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23612,10 +24999,10 @@ static void lts_aga_fm1_ham1_p6_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -23642,10 +25029,10 @@ static void lts_aga_fm1_ham1_p6_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -23695,6 +25082,8 @@ static void lts_aga_fm1_ham1_p6_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23705,6 +25094,9 @@ static void lts_aga_fm1_ham1_p6_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23723,6 +25115,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23738,7 +25131,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -23766,7 +25159,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); } loaded_pix = getbpl6_32(); @@ -23816,6 +25209,8 @@ static void lts_aga_fm1_kehb0_p6_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23826,6 +25221,9 @@ static void lts_aga_fm1_kehb0_p6_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23844,6 +25242,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23859,10 +25258,10 @@ static void lts_aga_fm1_kehb1_p6_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -23890,10 +25289,10 @@ static void lts_aga_fm1_kehb1_p6_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); } loaded_pix = getbpl6_32(); @@ -23943,6 +25342,8 @@ static void lts_aga_fm1_kehb1_p6_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23953,6 +25354,9 @@ static void lts_aga_fm1_kehb1_p6_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23971,6 +25375,7 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23985,7 +25390,7 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -24012,7 +25417,7 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -24062,6 +25467,8 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24072,6 +25479,9 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24090,6 +25500,7 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -24104,10 +25515,10 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -24134,10 +25545,10 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -24187,6 +25598,8 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24197,6 +25610,9 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24215,6 +25631,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -24234,7 +25651,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -24266,7 +25683,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -24316,6 +25733,8 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24326,6 +25745,9 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24344,6 +25766,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -24363,10 +25786,10 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -24398,10 +25821,10 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -24451,6 +25874,8 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24461,6 +25886,9 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24495,6 +25923,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -24509,7 +25938,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -24536,7 +25965,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -24586,6 +26015,8 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24596,6 +26027,9 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24614,6 +26048,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -24628,10 +26063,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -24658,10 +26093,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -24711,6 +26146,8 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24721,6 +26158,9 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24755,6 +26195,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -24768,7 +26209,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -24787,7 +26228,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -24818,6 +26259,8 @@ static void lts_aga_fm1_n0_p2_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24828,6 +26271,9 @@ static void lts_aga_fm1_n0_p2_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24842,6 +26288,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -24855,7 +26302,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -24872,7 +26319,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -24890,7 +26337,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -24907,7 +26354,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -24939,6 +26386,8 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24949,6 +26398,9 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24963,6 +26415,7 @@ static void lts_aga_fm1_n1_p2_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -24976,10 +26429,10 @@ static void lts_aga_fm1_n1_p2_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -24998,10 +26451,10 @@ static void lts_aga_fm1_n1_p2_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -25032,6 +26485,8 @@ static void lts_aga_fm1_n1_p2_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25042,6 +26497,9 @@ static void lts_aga_fm1_n1_p2_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25056,6 +26514,7 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -25069,10 +26528,10 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -25089,10 +26548,10 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -25110,10 +26569,10 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -25130,10 +26589,10 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -25165,6 +26624,8 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25175,6 +26636,9 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25189,6 +26653,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -25207,7 +26672,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -25231,7 +26696,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -25262,6 +26727,8 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25272,6 +26739,9 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25286,6 +26756,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -25304,7 +26775,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -25326,7 +26797,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -25349,7 +26820,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -25371,7 +26842,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -25403,6 +26874,8 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25413,6 +26886,9 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25427,6 +26903,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -25445,10 +26922,10 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -25472,10 +26949,10 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -25506,6 +26983,8 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25516,6 +26995,9 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25530,6 +27012,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -25548,10 +27031,10 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -25573,10 +27056,10 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -25599,10 +27082,10 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -25624,10 +27107,10 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -25659,6 +27142,8 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25669,6 +27154,9 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25731,6 +27219,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -25744,7 +27233,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -25763,7 +27252,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -25794,6 +27283,8 @@ static void lts_aga_fm1_n0_p4_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25804,6 +27295,9 @@ static void lts_aga_fm1_n0_p4_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25818,6 +27312,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -25831,7 +27326,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -25848,7 +27343,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -25866,7 +27361,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -25883,7 +27378,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -25915,6 +27410,8 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25925,6 +27422,9 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25939,6 +27439,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -25952,10 +27453,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -25974,10 +27475,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -26008,6 +27509,8 @@ static void lts_aga_fm1_n1_p4_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26018,6 +27521,9 @@ static void lts_aga_fm1_n1_p4_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26032,6 +27538,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -26045,10 +27552,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -26065,10 +27572,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -26086,10 +27593,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -26106,10 +27613,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -26141,6 +27648,8 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26151,6 +27660,9 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26165,6 +27677,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -26183,7 +27696,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -26207,7 +27720,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -26238,6 +27751,8 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26248,6 +27763,9 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26262,6 +27780,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -26280,7 +27799,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -26302,7 +27821,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -26325,7 +27844,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -26347,7 +27866,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -26379,6 +27898,8 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26389,6 +27910,9 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26403,6 +27927,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -26421,10 +27946,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -26448,10 +27973,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -26482,6 +28007,8 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26492,6 +28019,9 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26506,6 +28036,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -26524,10 +28055,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -26549,10 +28080,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -26575,10 +28106,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -26600,10 +28131,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -26635,6 +28166,8 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26645,6 +28178,9 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26867,6 +28403,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -26881,7 +28418,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -26909,7 +28446,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -26960,6 +28497,8 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26970,6 +28509,9 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26984,6 +28526,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -26998,7 +28541,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -27023,7 +28566,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -27042,7 +28585,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -27067,7 +28610,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -27113,6 +28656,8 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27123,6 +28668,9 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27137,6 +28685,7 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -27151,10 +28700,10 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -27182,10 +28731,10 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -27236,6 +28785,8 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27246,6 +28797,9 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27260,6 +28814,7 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -27274,10 +28829,10 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -27302,10 +28857,10 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -27324,10 +28879,10 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -27352,10 +28907,10 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -27401,6 +28956,8 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27411,6 +28968,9 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27425,6 +28985,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -27444,7 +29005,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -27477,7 +29038,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -27528,6 +29089,8 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27538,6 +29101,9 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27552,6 +29118,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -27571,7 +29138,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -27601,7 +29168,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -27625,7 +29192,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -27655,7 +29222,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -27701,6 +29268,8 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27711,6 +29280,9 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27725,6 +29297,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -27744,10 +29317,10 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -27780,10 +29353,10 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -27834,6 +29407,8 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27844,6 +29419,9 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27858,6 +29436,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -27877,10 +29456,10 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -27910,10 +29489,10 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -27937,10 +29516,10 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -27970,10 +29549,10 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -28019,6 +29598,8 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28029,6 +29610,9 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28091,6 +29675,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -28105,7 +29690,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -28133,7 +29718,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -28184,6 +29769,8 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28194,6 +29781,9 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28208,6 +29798,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -28222,7 +29813,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -28247,7 +29838,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -28266,7 +29857,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -28291,7 +29882,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -28337,6 +29928,8 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28347,6 +29940,9 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28361,6 +29957,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -28375,10 +29972,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -28406,10 +30003,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -28460,6 +30057,8 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28470,6 +30069,9 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28484,6 +30086,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -28498,10 +30101,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -28526,10 +30129,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -28548,10 +30151,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -28576,10 +30179,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -28625,6 +30228,8 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28635,6 +30240,9 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28649,6 +30257,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -28668,7 +30277,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -28701,7 +30310,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -28752,6 +30361,8 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28762,6 +30373,9 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28776,6 +30390,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -28795,7 +30410,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -28825,7 +30440,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -28849,7 +30464,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -28879,7 +30494,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -28925,6 +30540,8 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28935,6 +30552,9 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28949,6 +30569,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -28968,10 +30589,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -29004,10 +30625,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -29058,6 +30679,8 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29068,6 +30691,9 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -29082,6 +30708,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -29101,10 +30728,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -29134,10 +30761,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -29161,10 +30788,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -29194,10 +30821,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -29243,6 +30870,8 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29253,6 +30882,9 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -29475,6 +31107,7 @@ static void lts_aga_fm1_n0_p2_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -29493,7 +31126,7 @@ static void lts_aga_fm1_n0_p2_ilores_dshres(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -29517,7 +31150,7 @@ static void lts_aga_fm1_n0_p2_ilores_dshres(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -29541,7 +31174,7 @@ static void lts_aga_fm1_n0_p2_ilores_dshres(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -29565,7 +31198,7 @@ static void lts_aga_fm1_n0_p2_ilores_dshres(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -29614,6 +31247,8 @@ static void lts_aga_fm1_n0_p2_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29624,6 +31259,9 @@ static void lts_aga_fm1_n0_p2_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -29642,6 +31280,7 @@ static void lts_aga_fm1_n1_p2_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -29666,12 +31305,12 @@ static void lts_aga_fm1_n1_p2_ilores_dshres(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -29701,12 +31340,12 @@ static void lts_aga_fm1_n1_p2_ilores_dshres(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -29736,12 +31375,12 @@ static void lts_aga_fm1_n1_p2_ilores_dshres(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -29771,12 +31410,12 @@ static void lts_aga_fm1_n1_p2_ilores_dshres(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -29825,6 +31464,8 @@ static void lts_aga_fm1_n1_p2_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29835,6 +31476,9 @@ static void lts_aga_fm1_n1_p2_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -29853,6 +31497,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -29876,7 +31521,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -29905,7 +31550,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -29934,7 +31579,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -29963,7 +31608,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -30012,6 +31657,8 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30022,6 +31669,9 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30040,6 +31690,7 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -30069,12 +31720,12 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -30109,12 +31760,12 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -30149,12 +31800,12 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -30189,12 +31840,12 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -30243,6 +31894,8 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30253,6 +31906,9 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30319,6 +31975,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -30337,7 +31994,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -30361,7 +32018,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -30385,7 +32042,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -30409,7 +32066,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -30458,6 +32115,8 @@ static void lts_aga_fm1_n0_p4_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30468,6 +32127,9 @@ static void lts_aga_fm1_n0_p4_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30486,6 +32148,7 @@ static void lts_aga_fm1_n1_p4_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -30510,12 +32173,12 @@ static void lts_aga_fm1_n1_p4_ilores_dshres(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -30545,12 +32208,12 @@ static void lts_aga_fm1_n1_p4_ilores_dshres(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -30580,12 +32243,12 @@ static void lts_aga_fm1_n1_p4_ilores_dshres(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -30615,12 +32278,12 @@ static void lts_aga_fm1_n1_p4_ilores_dshres(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -30669,6 +32332,8 @@ static void lts_aga_fm1_n1_p4_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30679,6 +32344,9 @@ static void lts_aga_fm1_n1_p4_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30697,6 +32365,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -30720,7 +32389,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -30749,7 +32418,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -30778,7 +32447,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -30807,7 +32476,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -30856,6 +32525,8 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30866,6 +32537,9 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30884,6 +32558,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -30913,12 +32588,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -30953,12 +32628,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -30993,12 +32668,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -31033,12 +32708,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -31087,6 +32762,8 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -31097,6 +32774,9 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -31163,6 +32843,7 @@ static void lts_aga_fm1_n0_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -31181,7 +32862,7 @@ static void lts_aga_fm1_n0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -31205,7 +32886,7 @@ static void lts_aga_fm1_n0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -31229,7 +32910,7 @@ static void lts_aga_fm1_n0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -31253,7 +32934,7 @@ static void lts_aga_fm1_n0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -31302,6 +32983,8 @@ static void lts_aga_fm1_n0_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -31312,6 +32995,9 @@ static void lts_aga_fm1_n0_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -31330,6 +33016,7 @@ static void lts_aga_fm1_n1_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -31354,12 +33041,12 @@ static void lts_aga_fm1_n1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -31389,12 +33076,12 @@ static void lts_aga_fm1_n1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -31424,12 +33111,12 @@ static void lts_aga_fm1_n1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -31459,12 +33146,12 @@ static void lts_aga_fm1_n1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -31513,6 +33200,8 @@ static void lts_aga_fm1_n1_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -31523,6 +33212,9 @@ static void lts_aga_fm1_n1_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -31541,6 +33233,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -31564,7 +33257,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -31593,7 +33286,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -31622,7 +33315,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -31651,7 +33344,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -31700,6 +33393,8 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -31710,6 +33405,9 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -31728,6 +33426,7 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -31757,12 +33456,12 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -31797,12 +33496,12 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -31837,12 +33536,12 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -31877,12 +33576,12 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -31931,6 +33630,8 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -31941,6 +33642,9 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -31959,6 +33663,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -31983,7 +33688,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -32013,7 +33718,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -32043,7 +33748,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -32073,7 +33778,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -32122,6 +33827,8 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -32132,6 +33839,9 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -32150,6 +33860,7 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -32180,12 +33891,12 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -32221,12 +33932,12 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -32262,12 +33973,12 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -32303,12 +34014,12 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -32357,6 +34068,8 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -32367,6 +34080,9 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -32385,6 +34101,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -32403,7 +34120,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -32427,7 +34144,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -32451,7 +34168,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -32475,7 +34192,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -32524,6 +34241,8 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -32534,6 +34253,9 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -32552,6 +34274,7 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -32576,12 +34299,12 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -32611,12 +34334,12 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -32646,12 +34369,12 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -32681,12 +34404,12 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -32735,6 +34458,8 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -32745,6 +34470,9 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -32763,6 +34491,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -32782,7 +34511,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -32807,7 +34536,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -32832,7 +34561,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -32857,7 +34586,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -32906,6 +34635,8 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -32916,6 +34647,9 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -32934,6 +34668,7 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -32959,12 +34694,12 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -32995,12 +34730,12 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -33031,12 +34766,12 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -33067,12 +34802,12 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -33121,6 +34856,8 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -33131,6 +34868,9 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -33149,6 +34889,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -33167,7 +34908,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -33191,7 +34932,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -33215,7 +34956,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -33239,7 +34980,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -33288,6 +35029,8 @@ static void lts_aga_fm1_n0_p8_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -33298,6 +35041,9 @@ static void lts_aga_fm1_n0_p8_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -33316,6 +35062,7 @@ static void lts_aga_fm1_n1_p8_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -33340,12 +35087,12 @@ static void lts_aga_fm1_n1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -33375,12 +35122,12 @@ static void lts_aga_fm1_n1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -33410,12 +35157,12 @@ static void lts_aga_fm1_n1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -33445,12 +35192,12 @@ static void lts_aga_fm1_n1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -33499,6 +35246,8 @@ static void lts_aga_fm1_n1_p8_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -33509,6 +35258,9 @@ static void lts_aga_fm1_n1_p8_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -33527,6 +35279,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -33550,7 +35303,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -33579,7 +35332,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -33608,7 +35361,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -33637,7 +35390,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -33686,6 +35439,8 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -33696,6 +35451,9 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -33714,6 +35472,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -33743,12 +35502,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -33783,12 +35542,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -33823,12 +35582,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -33863,12 +35622,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -33917,6 +35676,8 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -33927,6 +35688,9 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -33961,6 +35725,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -33979,7 +35744,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -34003,7 +35768,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -34027,7 +35792,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -34051,7 +35816,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -34100,6 +35865,8 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -34110,6 +35877,9 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -34128,6 +35898,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -34152,12 +35923,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -34187,12 +35958,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -34222,12 +35993,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -34257,12 +36028,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -34311,6 +36082,8 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -34321,6 +36094,9 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -34355,6 +36131,7 @@ static void lts_aga_fm1_n0_p2_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -34374,7 +36151,7 @@ static void lts_aga_fm1_n0_p2_ilores_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -34407,7 +36184,7 @@ static void lts_aga_fm1_n0_p2_ilores_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -34440,7 +36217,7 @@ static void lts_aga_fm1_n0_p2_ilores_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -34473,7 +36250,7 @@ static void lts_aga_fm1_n0_p2_ilores_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -34554,6 +36331,8 @@ static void lts_aga_fm1_n0_p2_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -34564,6 +36343,9 @@ static void lts_aga_fm1_n0_p2_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -34582,6 +36364,7 @@ static void lts_aga_fm1_n1_p2_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -34607,12 +36390,12 @@ static void lts_aga_fm1_n1_p2_ilores_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -34651,12 +36434,12 @@ static void lts_aga_fm1_n1_p2_ilores_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -34695,12 +36478,12 @@ static void lts_aga_fm1_n1_p2_ilores_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -34739,12 +36522,12 @@ static void lts_aga_fm1_n1_p2_ilores_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -34825,6 +36608,8 @@ static void lts_aga_fm1_n1_p2_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -34835,6 +36620,9 @@ static void lts_aga_fm1_n1_p2_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -34853,6 +36641,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -34877,7 +36666,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -34915,7 +36704,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -34953,7 +36742,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -34991,7 +36780,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -35072,6 +36861,8 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -35082,6 +36873,9 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -35100,6 +36894,7 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -35130,12 +36925,12 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -35179,12 +36974,12 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -35228,12 +37023,12 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -35277,12 +37072,12 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -35363,6 +37158,8 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -35373,6 +37170,9 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -35439,6 +37239,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -35458,7 +37259,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -35491,7 +37292,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -35524,7 +37325,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -35557,7 +37358,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -35638,6 +37439,8 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -35648,6 +37451,9 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -35666,6 +37472,7 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -35691,12 +37498,12 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -35735,12 +37542,12 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -35779,12 +37586,12 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -35823,12 +37630,12 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -35909,6 +37716,8 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -35919,6 +37728,9 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -35937,6 +37749,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -35961,7 +37774,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -35999,7 +37812,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -36037,7 +37850,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -36075,7 +37888,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -36156,6 +37969,8 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -36166,6 +37981,9 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -36184,6 +38002,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -36214,12 +38033,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -36263,12 +38082,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -36312,12 +38131,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -36361,12 +38180,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -36447,6 +38266,8 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -36457,6 +38278,9 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -36523,6 +38347,7 @@ static void lts_aga_fm1_n0_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -36542,7 +38367,7 @@ static void lts_aga_fm1_n0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -36575,7 +38400,7 @@ static void lts_aga_fm1_n0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -36608,7 +38433,7 @@ static void lts_aga_fm1_n0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -36641,7 +38466,7 @@ static void lts_aga_fm1_n0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -36722,6 +38547,8 @@ static void lts_aga_fm1_n0_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -36732,6 +38559,9 @@ static void lts_aga_fm1_n0_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -36750,6 +38580,7 @@ static void lts_aga_fm1_n1_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -36775,12 +38606,12 @@ static void lts_aga_fm1_n1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -36819,12 +38650,12 @@ static void lts_aga_fm1_n1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -36863,12 +38694,12 @@ static void lts_aga_fm1_n1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -36907,12 +38738,12 @@ static void lts_aga_fm1_n1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -36993,6 +38824,8 @@ static void lts_aga_fm1_n1_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -37003,6 +38836,9 @@ static void lts_aga_fm1_n1_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -37021,6 +38857,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -37045,7 +38882,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -37083,7 +38920,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -37121,7 +38958,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -37159,7 +38996,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -37240,6 +39077,8 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -37250,6 +39089,9 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -37268,6 +39110,7 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -37298,12 +39141,12 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -37347,12 +39190,12 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -37396,12 +39239,12 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -37445,12 +39288,12 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -37531,6 +39374,8 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -37541,6 +39386,9 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -37559,6 +39407,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -37584,7 +39433,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -37623,7 +39472,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -37662,7 +39511,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -37701,7 +39550,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -37782,6 +39631,8 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -37792,6 +39643,9 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -37810,6 +39664,7 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -37841,12 +39696,12 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -37891,12 +39746,12 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -37941,12 +39796,12 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -37991,12 +39846,12 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -38077,6 +39932,8 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -38087,6 +39944,9 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -38105,6 +39965,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -38124,7 +39985,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -38157,7 +40018,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -38190,7 +40051,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -38223,7 +40084,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -38304,6 +40165,8 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -38314,6 +40177,9 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -38332,6 +40198,7 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -38357,12 +40224,12 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -38401,12 +40268,12 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -38445,12 +40312,12 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -38489,12 +40356,12 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -38575,6 +40442,8 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -38585,6 +40454,9 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -38603,6 +40475,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -38623,7 +40496,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -38657,7 +40530,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -38691,7 +40564,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -38725,7 +40598,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -38806,6 +40679,8 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -38816,6 +40691,9 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -38834,6 +40712,7 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -38860,12 +40739,12 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -38905,12 +40784,12 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -38950,12 +40829,12 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -38995,12 +40874,12 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -39081,6 +40960,8 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -39091,6 +40972,9 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -39109,6 +40993,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -39128,7 +41013,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -39161,7 +41046,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -39194,7 +41079,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -39227,7 +41112,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -39308,6 +41193,8 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -39318,6 +41205,9 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -39336,6 +41226,7 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -39361,12 +41252,12 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -39405,12 +41296,12 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -39449,12 +41340,12 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -39493,12 +41384,12 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -39579,6 +41470,8 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -39589,6 +41482,9 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -39607,6 +41503,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -39631,7 +41528,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -39669,7 +41566,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -39707,7 +41604,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -39745,7 +41642,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -39826,6 +41723,8 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -39836,6 +41735,9 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -39854,6 +41756,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -39884,12 +41787,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -39933,12 +41836,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -39982,12 +41885,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -40031,12 +41934,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -40117,6 +42020,8 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -40127,6 +42032,9 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -40161,6 +42069,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -40180,7 +42089,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -40213,7 +42122,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -40246,7 +42155,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -40279,7 +42188,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -40360,6 +42269,8 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -40370,6 +42281,9 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -40388,6 +42302,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -40413,12 +42328,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -40457,12 +42372,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -40501,12 +42416,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -40545,12 +42460,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -40631,6 +42546,8 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -40641,6 +42558,9 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -40675,6 +42595,7 @@ static void lts_aga_fm1_n0_p2_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -40693,7 +42614,7 @@ static void lts_aga_fm1_n0_p2_ihires_dshres(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -40717,7 +42638,7 @@ static void lts_aga_fm1_n0_p2_ihires_dshres(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -40741,7 +42662,7 @@ static void lts_aga_fm1_n0_p2_ihires_dshres(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -40765,7 +42686,7 @@ static void lts_aga_fm1_n0_p2_ihires_dshres(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -40814,6 +42735,8 @@ static void lts_aga_fm1_n0_p2_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -40824,6 +42747,9 @@ static void lts_aga_fm1_n0_p2_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -40842,6 +42768,7 @@ static void lts_aga_fm1_n1_p2_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -40866,12 +42793,12 @@ static void lts_aga_fm1_n1_p2_ihires_dshres(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -40901,12 +42828,12 @@ static void lts_aga_fm1_n1_p2_ihires_dshres(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -40936,12 +42863,12 @@ static void lts_aga_fm1_n1_p2_ihires_dshres(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -40971,12 +42898,12 @@ static void lts_aga_fm1_n1_p2_ihires_dshres(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -41025,6 +42952,8 @@ static void lts_aga_fm1_n1_p2_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -41035,6 +42964,9 @@ static void lts_aga_fm1_n1_p2_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -41053,6 +42985,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -41076,7 +43009,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -41105,7 +43038,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -41134,7 +43067,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -41163,7 +43096,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -41212,6 +43145,8 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -41222,6 +43157,9 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -41240,6 +43178,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -41269,12 +43208,12 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -41309,12 +43248,12 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -41349,12 +43288,12 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -41389,12 +43328,12 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -41443,6 +43382,8 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -41453,6 +43394,9 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -41519,6 +43463,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -41537,7 +43482,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -41561,7 +43506,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -41585,7 +43530,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -41609,7 +43554,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -41658,6 +43603,8 @@ static void lts_aga_fm1_n0_p4_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -41668,6 +43615,9 @@ static void lts_aga_fm1_n0_p4_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -41686,6 +43636,7 @@ static void lts_aga_fm1_n1_p4_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -41710,12 +43661,12 @@ static void lts_aga_fm1_n1_p4_ihires_dshres(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -41745,12 +43696,12 @@ static void lts_aga_fm1_n1_p4_ihires_dshres(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -41780,12 +43731,12 @@ static void lts_aga_fm1_n1_p4_ihires_dshres(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -41815,12 +43766,12 @@ static void lts_aga_fm1_n1_p4_ihires_dshres(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -41869,6 +43820,8 @@ static void lts_aga_fm1_n1_p4_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -41879,6 +43832,9 @@ static void lts_aga_fm1_n1_p4_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -41897,6 +43853,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -41920,7 +43877,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -41949,7 +43906,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -41978,7 +43935,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -42007,7 +43964,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -42056,6 +44013,8 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -42066,6 +44025,9 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -42084,6 +44046,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -42113,12 +44076,12 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -42153,12 +44116,12 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -42193,12 +44156,12 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -42233,12 +44196,12 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -42287,6 +44250,8 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -42297,6 +44262,9 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -42363,6 +44331,7 @@ static void lts_aga_fm1_n0_p6_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -42381,7 +44350,7 @@ static void lts_aga_fm1_n0_p6_ihires_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -42405,7 +44374,7 @@ static void lts_aga_fm1_n0_p6_ihires_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -42429,7 +44398,7 @@ static void lts_aga_fm1_n0_p6_ihires_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -42453,7 +44422,7 @@ static void lts_aga_fm1_n0_p6_ihires_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -42502,6 +44471,8 @@ static void lts_aga_fm1_n0_p6_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -42512,6 +44483,9 @@ static void lts_aga_fm1_n0_p6_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -42530,6 +44504,7 @@ static void lts_aga_fm1_n1_p6_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -42554,12 +44529,12 @@ static void lts_aga_fm1_n1_p6_ihires_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -42589,12 +44564,12 @@ static void lts_aga_fm1_n1_p6_ihires_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -42624,12 +44599,12 @@ static void lts_aga_fm1_n1_p6_ihires_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -42659,12 +44634,12 @@ static void lts_aga_fm1_n1_p6_ihires_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -42713,6 +44688,8 @@ static void lts_aga_fm1_n1_p6_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -42723,6 +44700,9 @@ static void lts_aga_fm1_n1_p6_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -42741,6 +44721,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -42764,7 +44745,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -42793,7 +44774,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -42822,7 +44803,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -42851,7 +44832,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -42900,6 +44881,8 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -42910,6 +44893,9 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -42928,6 +44914,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -42957,12 +44944,12 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -42997,12 +44984,12 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -43037,12 +45024,12 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -43077,12 +45064,12 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -43131,6 +45118,8 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -43141,6 +45130,9 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -43159,6 +45151,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -43183,7 +45176,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -43213,7 +45206,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -43243,7 +45236,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -43273,7 +45266,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -43322,6 +45315,8 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -43332,6 +45327,9 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -43350,6 +45348,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -43380,12 +45379,12 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -43421,12 +45420,12 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -43462,12 +45461,12 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -43503,12 +45502,12 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -43557,6 +45556,8 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -43567,6 +45568,9 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -43585,6 +45589,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -43603,7 +45608,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -43627,7 +45632,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -43651,7 +45656,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -43675,7 +45680,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -43724,6 +45729,8 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -43734,6 +45741,9 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -43752,6 +45762,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -43776,12 +45787,12 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -43811,12 +45822,12 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -43846,12 +45857,12 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -43881,12 +45892,12 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -43935,6 +45946,8 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -43945,6 +45958,9 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -43963,6 +45979,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -43982,7 +45999,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -44007,7 +46024,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -44032,7 +46049,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -44057,7 +46074,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -44106,6 +46123,8 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -44116,6 +46135,9 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -44134,6 +46156,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -44159,12 +46182,12 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -44195,12 +46218,12 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -44231,12 +46254,12 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -44267,12 +46290,12 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -44321,6 +46344,8 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -44331,6 +46356,9 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -44349,6 +46377,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -44367,7 +46396,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -44391,7 +46420,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -44415,7 +46444,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -44439,7 +46468,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -44488,6 +46517,8 @@ static void lts_aga_fm1_n0_p8_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -44498,6 +46529,9 @@ static void lts_aga_fm1_n0_p8_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -44516,6 +46550,7 @@ static void lts_aga_fm1_n1_p8_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -44540,12 +46575,12 @@ static void lts_aga_fm1_n1_p8_ihires_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -44575,12 +46610,12 @@ static void lts_aga_fm1_n1_p8_ihires_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -44610,12 +46645,12 @@ static void lts_aga_fm1_n1_p8_ihires_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -44645,12 +46680,12 @@ static void lts_aga_fm1_n1_p8_ihires_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -44699,6 +46734,8 @@ static void lts_aga_fm1_n1_p8_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -44709,6 +46746,9 @@ static void lts_aga_fm1_n1_p8_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -44727,6 +46767,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -44750,7 +46791,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -44779,7 +46820,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -44808,7 +46849,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -44837,7 +46878,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -44886,6 +46927,8 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -44896,6 +46939,9 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -44914,6 +46960,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -44943,12 +46990,12 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -44983,12 +47030,12 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -45023,12 +47070,12 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -45063,12 +47110,12 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -45117,6 +47164,8 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -45127,6 +47176,9 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -45161,6 +47213,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -45179,7 +47232,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -45203,7 +47256,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -45227,7 +47280,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -45251,7 +47304,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -45300,6 +47353,8 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -45310,6 +47365,9 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -45328,6 +47386,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -45352,12 +47411,12 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -45387,12 +47446,12 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -45422,12 +47481,12 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -45457,12 +47516,12 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -45511,6 +47570,8 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -45521,6 +47582,9 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -45555,6 +47619,7 @@ static void lts_aga_fm1_n0_p2_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -45574,7 +47639,7 @@ static void lts_aga_fm1_n0_p2_ihires_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -45607,7 +47672,7 @@ static void lts_aga_fm1_n0_p2_ihires_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -45640,7 +47705,7 @@ static void lts_aga_fm1_n0_p2_ihires_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -45673,7 +47738,7 @@ static void lts_aga_fm1_n0_p2_ihires_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -45754,6 +47819,8 @@ static void lts_aga_fm1_n0_p2_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -45764,6 +47831,9 @@ static void lts_aga_fm1_n0_p2_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -45782,6 +47852,7 @@ static void lts_aga_fm1_n1_p2_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -45807,12 +47878,12 @@ static void lts_aga_fm1_n1_p2_ihires_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -45851,12 +47922,12 @@ static void lts_aga_fm1_n1_p2_ihires_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -45895,12 +47966,12 @@ static void lts_aga_fm1_n1_p2_ihires_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -45939,12 +48010,12 @@ static void lts_aga_fm1_n1_p2_ihires_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -46025,6 +48096,8 @@ static void lts_aga_fm1_n1_p2_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -46035,6 +48108,9 @@ static void lts_aga_fm1_n1_p2_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -46053,6 +48129,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -46077,7 +48154,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -46115,7 +48192,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -46153,7 +48230,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -46191,7 +48268,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres_spr(void) shiftbpl2(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); @@ -46272,6 +48349,8 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -46282,6 +48361,9 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -46300,6 +48382,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -46330,12 +48413,12 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -46379,12 +48462,12 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -46428,12 +48511,12 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -46477,12 +48560,12 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres_spr(void) shiftbpl2o(); loaded_pix = getbpl2_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_32(); @@ -46563,6 +48646,8 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -46573,6 +48658,9 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -46639,6 +48727,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -46658,7 +48747,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -46691,7 +48780,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -46724,7 +48813,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -46757,7 +48846,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -46838,6 +48927,8 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -46848,6 +48939,9 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -46866,6 +48960,7 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -46891,12 +48986,12 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -46935,12 +49030,12 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -46979,12 +49074,12 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -47023,12 +49118,12 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -47109,6 +49204,8 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -47119,6 +49216,9 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -47137,6 +49237,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -47161,7 +49262,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -47199,7 +49300,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -47237,7 +49338,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -47275,7 +49376,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -47356,6 +49457,8 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -47366,6 +49469,9 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -47384,6 +49490,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -47414,12 +49521,12 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -47463,12 +49570,12 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -47512,12 +49619,12 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -47561,12 +49668,12 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -47647,6 +49754,8 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -47657,6 +49766,9 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -47723,6 +49835,7 @@ static void lts_aga_fm1_n0_p6_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -47742,7 +49855,7 @@ static void lts_aga_fm1_n0_p6_ihires_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -47775,7 +49888,7 @@ static void lts_aga_fm1_n0_p6_ihires_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -47808,7 +49921,7 @@ static void lts_aga_fm1_n0_p6_ihires_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -47841,7 +49954,7 @@ static void lts_aga_fm1_n0_p6_ihires_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -47922,6 +50035,8 @@ static void lts_aga_fm1_n0_p6_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -47932,6 +50047,9 @@ static void lts_aga_fm1_n0_p6_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -47950,6 +50068,7 @@ static void lts_aga_fm1_n1_p6_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -47975,12 +50094,12 @@ static void lts_aga_fm1_n1_p6_ihires_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -48019,12 +50138,12 @@ static void lts_aga_fm1_n1_p6_ihires_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -48063,12 +50182,12 @@ static void lts_aga_fm1_n1_p6_ihires_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -48107,12 +50226,12 @@ static void lts_aga_fm1_n1_p6_ihires_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -48193,6 +50312,8 @@ static void lts_aga_fm1_n1_p6_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -48203,6 +50324,9 @@ static void lts_aga_fm1_n1_p6_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -48221,6 +50345,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -48245,7 +50370,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -48283,7 +50408,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -48321,7 +50446,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -48359,7 +50484,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -48440,6 +50565,8 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -48450,6 +50577,9 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -48468,6 +50598,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -48498,12 +50629,12 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -48547,12 +50678,12 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -48596,12 +50727,12 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -48645,12 +50776,12 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -48731,6 +50862,8 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -48741,6 +50874,9 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -48759,6 +50895,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -48784,7 +50921,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -48823,7 +50960,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -48862,7 +50999,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -48901,7 +51038,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -48982,6 +51119,8 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -48992,6 +51131,9 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -49010,6 +51152,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -49041,12 +51184,12 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -49091,12 +51234,12 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -49141,12 +51284,12 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -49191,12 +51334,12 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -49277,6 +51420,8 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -49287,6 +51432,9 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -49305,6 +51453,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -49324,7 +51473,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -49357,7 +51506,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -49390,7 +51539,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -49423,7 +51572,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -49504,6 +51653,8 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -49514,6 +51665,9 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -49532,6 +51686,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -49557,12 +51712,12 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -49601,12 +51756,12 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -49645,12 +51800,12 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -49689,12 +51844,12 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -49775,6 +51930,8 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -49785,6 +51942,9 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -49803,6 +51963,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -49823,7 +51984,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -49857,7 +52018,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -49891,7 +52052,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -49925,7 +52086,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres_spr(void) shiftbpl6(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); @@ -50006,6 +52167,8 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -50016,6 +52179,9 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -50034,6 +52200,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -50060,12 +52227,12 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -50105,12 +52272,12 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -50150,12 +52317,12 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -50195,12 +52362,12 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres_spr(void) shiftbpl6o(); loaded_pix = getbpl6_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_32(); @@ -50281,6 +52448,8 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -50291,6 +52460,9 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -50309,6 +52481,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -50328,7 +52501,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -50361,7 +52534,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -50394,7 +52567,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -50427,7 +52600,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -50508,6 +52681,8 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -50518,6 +52693,9 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -50536,6 +52714,7 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -50561,12 +52740,12 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -50605,12 +52784,12 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -50649,12 +52828,12 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -50693,12 +52872,12 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -50779,6 +52958,8 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -50789,6 +52970,9 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -50807,6 +52991,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -50831,7 +53016,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -50869,7 +53054,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -50907,7 +53092,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -50945,7 +53130,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -51026,6 +53211,8 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -51036,6 +53223,9 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -51054,6 +53244,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -51084,12 +53275,12 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -51133,12 +53324,12 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -51182,12 +53373,12 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -51231,12 +53422,12 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -51317,6 +53508,8 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -51327,6 +53520,9 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -51361,6 +53557,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -51380,7 +53577,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -51413,7 +53610,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -51446,7 +53643,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -51479,7 +53676,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -51560,6 +53757,8 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -51570,6 +53769,9 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -51588,6 +53790,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -51613,12 +53816,12 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -51657,12 +53860,12 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -51701,12 +53904,12 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -51745,12 +53948,12 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -51831,6 +54034,8 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -51841,6 +54046,9 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -51875,6 +54083,7 @@ static void lts_aga_fm1_n0_p2_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -51888,7 +54097,7 @@ static void lts_aga_fm1_n0_p2_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -51906,7 +54115,7 @@ static void lts_aga_fm1_n0_p2_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -51924,7 +54133,7 @@ static void lts_aga_fm1_n0_p2_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -51942,7 +54151,7 @@ static void lts_aga_fm1_n0_p2_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -51990,6 +54199,8 @@ static void lts_aga_fm1_n0_p2_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -52000,6 +54211,9 @@ static void lts_aga_fm1_n0_p2_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -52018,6 +54232,7 @@ static void lts_aga_fm1_n1_p2_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -52031,10 +54246,10 @@ static void lts_aga_fm1_n1_p2_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -52052,10 +54267,10 @@ static void lts_aga_fm1_n1_p2_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -52073,10 +54288,10 @@ static void lts_aga_fm1_n1_p2_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -52094,10 +54309,10 @@ static void lts_aga_fm1_n1_p2_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -52145,6 +54360,8 @@ static void lts_aga_fm1_n1_p2_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -52155,6 +54372,9 @@ static void lts_aga_fm1_n1_p2_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -52173,6 +54393,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -52191,7 +54412,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -52214,7 +54435,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -52237,7 +54458,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -52260,7 +54481,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -52308,6 +54529,8 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -52318,6 +54541,9 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -52336,6 +54562,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -52354,10 +54581,10 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -52380,10 +54607,10 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -52406,10 +54633,10 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -52432,10 +54659,10 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -52483,6 +54710,8 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -52493,6 +54722,9 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -52559,6 +54791,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -52572,7 +54805,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -52590,7 +54823,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -52608,7 +54841,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -52626,7 +54859,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -52674,6 +54907,8 @@ static void lts_aga_fm1_n0_p4_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -52684,6 +54919,9 @@ static void lts_aga_fm1_n0_p4_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -52702,6 +54940,7 @@ static void lts_aga_fm1_n1_p4_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -52715,10 +54954,10 @@ static void lts_aga_fm1_n1_p4_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -52736,10 +54975,10 @@ static void lts_aga_fm1_n1_p4_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -52757,10 +54996,10 @@ static void lts_aga_fm1_n1_p4_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -52778,10 +55017,10 @@ static void lts_aga_fm1_n1_p4_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -52829,6 +55068,8 @@ static void lts_aga_fm1_n1_p4_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -52839,6 +55080,9 @@ static void lts_aga_fm1_n1_p4_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -52857,6 +55101,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -52875,7 +55120,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -52898,7 +55143,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -52921,7 +55166,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -52944,7 +55189,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -52992,6 +55237,8 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -53002,6 +55249,9 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -53020,6 +55270,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -53038,10 +55289,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -53064,10 +55315,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -53090,10 +55341,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -53116,10 +55367,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -53167,6 +55418,8 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -53177,6 +55430,9 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -53403,6 +55659,7 @@ static void lts_aga_fm1_n0_p2_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -53417,7 +55674,7 @@ static void lts_aga_fm1_n0_p2_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -53444,7 +55701,7 @@ static void lts_aga_fm1_n0_p2_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -53471,7 +55728,7 @@ static void lts_aga_fm1_n0_p2_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -53498,7 +55755,7 @@ static void lts_aga_fm1_n0_p2_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -53578,6 +55835,8 @@ static void lts_aga_fm1_n0_p2_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -53588,6 +55847,9 @@ static void lts_aga_fm1_n0_p2_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -53606,6 +55868,7 @@ static void lts_aga_fm1_n1_p2_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -53620,10 +55883,10 @@ static void lts_aga_fm1_n1_p2_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -53650,10 +55913,10 @@ static void lts_aga_fm1_n1_p2_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -53680,10 +55943,10 @@ static void lts_aga_fm1_n1_p2_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -53710,10 +55973,10 @@ static void lts_aga_fm1_n1_p2_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -53793,6 +56056,8 @@ static void lts_aga_fm1_n1_p2_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -53803,6 +56068,9 @@ static void lts_aga_fm1_n1_p2_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -53821,6 +56089,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -53840,7 +56109,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -53872,7 +56141,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -53904,7 +56173,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -53936,7 +56205,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2(); } loaded_pix = getbpl2_32(); @@ -54016,6 +56285,8 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -54026,6 +56297,9 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -54044,6 +56318,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -54063,10 +56338,10 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -54098,10 +56373,10 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -54133,10 +56408,10 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -54168,10 +56443,10 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl2(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl2e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl2o(); } loaded_pix = getbpl2_32(); @@ -54251,6 +56526,8 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -54261,6 +56538,9 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -54327,6 +56607,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -54341,7 +56622,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -54368,7 +56649,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -54395,7 +56676,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -54422,7 +56703,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -54502,6 +56783,8 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -54512,6 +56795,9 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -54530,6 +56816,7 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -54544,10 +56831,10 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -54574,10 +56861,10 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -54604,10 +56891,10 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -54634,10 +56921,10 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -54717,6 +57004,8 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -54727,6 +57016,9 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -54745,6 +57037,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -54764,7 +57057,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -54796,7 +57089,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -54828,7 +57121,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -54860,7 +57153,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -54940,6 +57233,8 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -54950,6 +57245,9 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -54968,6 +57266,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -54987,10 +57286,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -55022,10 +57321,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -55057,10 +57356,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -55092,10 +57391,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -55175,6 +57474,8 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -55185,6 +57486,9 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } diff --git a/linetoscr_aga_fm1_genlock.cpp b/linetoscr_aga_fm1_genlock.cpp index 4af650f8..d65aa921 100644 --- a/linetoscr_aga_fm1_genlock.cpp +++ b/linetoscr_aga_fm1_genlock.cpp @@ -15,6 +15,7 @@ static void lts_aga_fm1_n0_p4_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -31,7 +32,7 @@ static void lts_aga_fm1_n0_p4_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -54,6 +55,8 @@ static void lts_aga_fm1_n0_p4_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -64,6 +67,9 @@ static void lts_aga_fm1_n0_p4_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -82,6 +88,7 @@ static void lts_aga_fm1_n1_p4_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -98,10 +105,10 @@ static void lts_aga_fm1_n1_p4_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -124,6 +131,8 @@ static void lts_aga_fm1_n1_p4_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -134,6 +143,9 @@ static void lts_aga_fm1_n1_p4_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -152,6 +164,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -173,7 +186,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -196,6 +209,8 @@ static void lts_aga_fm1_dpf0_p4_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -206,6 +221,9 @@ static void lts_aga_fm1_dpf0_p4_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -224,6 +242,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -245,10 +264,10 @@ static void lts_aga_fm1_dpf1_p4_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -271,6 +290,8 @@ static void lts_aga_fm1_dpf1_p4_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -281,6 +302,9 @@ static void lts_aga_fm1_dpf1_p4_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -347,6 +371,7 @@ static void lts_aga_fm1_n0_p8_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -363,7 +388,7 @@ static void lts_aga_fm1_n0_p8_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -386,6 +411,8 @@ static void lts_aga_fm1_n0_p8_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -396,6 +423,9 @@ static void lts_aga_fm1_n0_p8_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -414,6 +444,7 @@ static void lts_aga_fm1_n1_p8_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -430,10 +461,10 @@ static void lts_aga_fm1_n1_p8_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -456,6 +487,8 @@ static void lts_aga_fm1_n1_p8_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -466,6 +499,9 @@ static void lts_aga_fm1_n1_p8_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -484,6 +520,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -505,7 +542,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -528,6 +565,8 @@ static void lts_aga_fm1_dpf0_p8_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -538,6 +577,9 @@ static void lts_aga_fm1_dpf0_p8_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -556,6 +598,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -577,10 +620,10 @@ static void lts_aga_fm1_dpf1_p8_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -603,6 +646,8 @@ static void lts_aga_fm1_dpf1_p8_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -613,6 +658,9 @@ static void lts_aga_fm1_dpf1_p8_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -647,6 +695,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -663,7 +712,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -686,6 +735,8 @@ static void lts_aga_fm1_ham0_p8_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -696,6 +747,9 @@ static void lts_aga_fm1_ham0_p8_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -714,6 +768,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -730,10 +785,10 @@ static void lts_aga_fm1_ham1_p8_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -756,6 +811,8 @@ static void lts_aga_fm1_ham1_p8_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -766,6 +823,9 @@ static void lts_aga_fm1_ham1_p8_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -800,6 +860,7 @@ static void lts_aga_fm1_n0_p4_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -817,7 +878,7 @@ static void lts_aga_fm1_n0_p4_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -856,6 +917,8 @@ static void lts_aga_fm1_n0_p4_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -866,6 +929,9 @@ static void lts_aga_fm1_n0_p4_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -884,6 +950,7 @@ static void lts_aga_fm1_n1_p4_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -901,10 +968,10 @@ static void lts_aga_fm1_n1_p4_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -943,6 +1010,8 @@ static void lts_aga_fm1_n1_p4_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -953,6 +1022,9 @@ static void lts_aga_fm1_n1_p4_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -971,6 +1043,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -993,7 +1066,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -1032,6 +1105,8 @@ static void lts_aga_fm1_dpf0_p4_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1042,6 +1117,9 @@ static void lts_aga_fm1_dpf0_p4_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1060,6 +1138,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1082,10 +1161,10 @@ static void lts_aga_fm1_dpf1_p4_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -1124,6 +1203,8 @@ static void lts_aga_fm1_dpf1_p4_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1134,6 +1215,9 @@ static void lts_aga_fm1_dpf1_p4_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1200,6 +1284,7 @@ static void lts_aga_fm1_n0_p8_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1217,7 +1302,7 @@ static void lts_aga_fm1_n0_p8_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -1256,6 +1341,8 @@ static void lts_aga_fm1_n0_p8_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1266,6 +1353,9 @@ static void lts_aga_fm1_n0_p8_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1284,6 +1374,7 @@ static void lts_aga_fm1_n1_p8_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1301,10 +1392,10 @@ static void lts_aga_fm1_n1_p8_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -1343,6 +1434,8 @@ static void lts_aga_fm1_n1_p8_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1353,6 +1446,9 @@ static void lts_aga_fm1_n1_p8_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1371,6 +1467,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1393,7 +1490,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -1432,6 +1529,8 @@ static void lts_aga_fm1_dpf0_p8_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1442,6 +1541,9 @@ static void lts_aga_fm1_dpf0_p8_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1460,6 +1562,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1482,10 +1585,10 @@ static void lts_aga_fm1_dpf1_p8_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -1524,6 +1627,8 @@ static void lts_aga_fm1_dpf1_p8_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1534,6 +1639,9 @@ static void lts_aga_fm1_dpf1_p8_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1568,6 +1676,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1585,7 +1694,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -1624,6 +1733,8 @@ static void lts_aga_fm1_ham0_p8_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1634,6 +1745,9 @@ static void lts_aga_fm1_ham0_p8_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1652,6 +1766,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1669,10 +1784,10 @@ static void lts_aga_fm1_ham1_p8_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -1711,6 +1826,8 @@ static void lts_aga_fm1_ham1_p8_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1721,6 +1838,9 @@ static void lts_aga_fm1_ham1_p8_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1755,6 +1875,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -1771,7 +1892,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -1795,6 +1916,8 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1805,6 +1928,9 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1819,6 +1945,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -1835,7 +1962,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -1855,7 +1982,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -1880,6 +2007,8 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1890,6 +2019,9 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1904,6 +2036,7 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -1920,10 +2053,10 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -1947,6 +2080,8 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1957,6 +2092,9 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1971,6 +2109,7 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -1987,10 +2126,10 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -2010,10 +2149,10 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -2038,6 +2177,8 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2048,6 +2189,9 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2062,6 +2206,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2083,7 +2228,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -2107,6 +2252,8 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2117,6 +2264,9 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2131,6 +2281,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2152,7 +2303,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -2177,7 +2328,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -2202,6 +2353,8 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2212,6 +2365,9 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2226,6 +2382,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2247,10 +2404,10 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -2274,6 +2431,8 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2284,6 +2443,9 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2298,6 +2460,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2319,10 +2482,10 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -2347,10 +2510,10 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -2375,6 +2538,8 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2385,6 +2550,9 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2447,6 +2615,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2463,7 +2632,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -2487,6 +2656,8 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2497,6 +2668,9 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2511,6 +2685,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2527,7 +2702,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -2547,7 +2722,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -2572,6 +2747,8 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2582,6 +2759,9 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2596,6 +2776,7 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2612,10 +2793,10 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -2639,6 +2820,8 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2649,6 +2832,9 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2663,6 +2849,7 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2679,10 +2866,10 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -2702,10 +2889,10 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -2730,6 +2917,8 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2740,6 +2929,9 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2754,6 +2946,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2775,7 +2968,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -2799,6 +2992,8 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2809,6 +3004,9 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2823,6 +3021,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2844,7 +3043,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -2869,7 +3068,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -2894,6 +3093,8 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2904,6 +3105,9 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2918,6 +3122,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2939,10 +3144,10 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -2966,6 +3171,8 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2976,6 +3183,9 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2990,6 +3200,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -3011,10 +3222,10 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -3039,10 +3250,10 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -3067,6 +3278,8 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3077,6 +3290,9 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3107,6 +3323,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -3123,7 +3340,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -3140,7 +3357,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_genlock(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -3163,6 +3380,8 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3173,6 +3392,9 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3187,6 +3409,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -3203,7 +3426,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -3223,7 +3446,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -3248,6 +3471,8 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3258,6 +3483,9 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3272,6 +3500,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -3288,10 +3517,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -3308,10 +3537,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_genlock(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -3334,6 +3563,8 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3344,6 +3575,9 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3358,6 +3592,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -3374,10 +3609,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -3397,10 +3632,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -3425,6 +3660,8 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3435,6 +3672,9 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3465,6 +3705,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3482,7 +3723,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -3522,6 +3763,8 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3532,6 +3775,9 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3546,6 +3792,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3563,7 +3810,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -3591,7 +3838,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -3625,6 +3872,8 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3635,6 +3884,9 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3649,6 +3901,7 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3666,10 +3919,10 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -3709,6 +3962,8 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3719,6 +3974,9 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3733,6 +3991,7 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3750,10 +4009,10 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -3781,10 +4040,10 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -3818,6 +4077,8 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3828,6 +4089,9 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3842,6 +4106,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3864,7 +4129,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -3904,6 +4169,8 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3914,6 +4181,9 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3928,6 +4198,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3950,7 +4221,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -3983,7 +4254,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -4017,6 +4288,8 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4027,6 +4300,9 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4041,6 +4317,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -4063,10 +4340,10 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -4106,6 +4383,8 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4116,6 +4395,9 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4130,6 +4412,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -4152,10 +4435,10 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -4188,10 +4471,10 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -4225,6 +4508,8 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4235,6 +4520,9 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4297,6 +4585,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -4314,7 +4603,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -4354,6 +4643,8 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4364,6 +4655,9 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4378,6 +4672,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -4395,7 +4690,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -4423,7 +4718,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -4457,6 +4752,8 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4467,6 +4764,9 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4481,6 +4781,7 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -4498,10 +4799,10 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -4541,6 +4842,8 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4551,6 +4854,9 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4565,6 +4871,7 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -4582,10 +4889,10 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -4613,10 +4920,10 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -4650,6 +4957,8 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4660,6 +4969,9 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4674,6 +4986,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -4696,7 +5009,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -4736,6 +5049,8 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4746,6 +5061,9 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4760,6 +5078,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -4782,7 +5101,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -4815,7 +5134,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -4849,6 +5168,8 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4859,6 +5180,9 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4873,6 +5197,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -4895,10 +5220,10 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -4938,6 +5263,8 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4948,6 +5275,9 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4962,6 +5292,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -4984,10 +5315,10 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -5020,10 +5351,10 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -5057,6 +5388,8 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5067,6 +5400,9 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5097,6 +5433,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5114,7 +5451,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -5139,7 +5476,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_genlock(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -5170,6 +5507,8 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5180,6 +5519,9 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5194,6 +5536,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5211,7 +5554,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -5239,7 +5582,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -5273,6 +5616,8 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5283,6 +5628,9 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5297,6 +5645,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5314,10 +5663,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -5342,10 +5691,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_genlock(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -5376,6 +5725,8 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5386,6 +5737,9 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5400,6 +5754,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5417,10 +5772,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -5448,10 +5803,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -5485,6 +5840,8 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5495,6 +5852,9 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5845,6 +6205,7 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -5866,7 +6227,7 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -5893,7 +6254,7 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -5928,6 +6289,8 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5938,6 +6301,9 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5956,6 +6322,7 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -5983,12 +6350,12 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -6021,12 +6388,12 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -6061,6 +6428,8 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6071,6 +6440,9 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6089,6 +6461,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -6115,7 +6488,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -6147,7 +6520,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -6182,6 +6555,8 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6192,6 +6567,9 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6210,6 +6588,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -6242,12 +6621,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -6285,12 +6664,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -6325,6 +6704,8 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6335,6 +6716,9 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6401,6 +6785,7 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -6422,7 +6807,7 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -6449,7 +6834,7 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -6484,6 +6869,8 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6494,6 +6881,9 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6512,6 +6902,7 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -6539,12 +6930,12 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -6577,12 +6968,12 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -6617,6 +7008,8 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6627,6 +7020,9 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6645,6 +7041,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -6671,7 +7068,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -6703,7 +7100,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -6738,6 +7135,8 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6748,6 +7147,9 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6766,6 +7168,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -6798,12 +7201,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -6841,12 +7244,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -6881,6 +7284,8 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6891,6 +7296,9 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6925,6 +7333,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -6946,7 +7355,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -6973,7 +7382,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -7008,6 +7417,8 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7018,6 +7429,9 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7036,6 +7450,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -7063,12 +7478,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -7101,12 +7516,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -7141,6 +7556,8 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7151,6 +7568,9 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7185,6 +7605,7 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7207,7 +7628,7 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -7243,7 +7664,7 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -7302,6 +7723,8 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7312,6 +7735,9 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7330,6 +7756,7 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7358,12 +7785,12 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -7405,12 +7832,12 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -7469,6 +7896,8 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7479,6 +7908,9 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7497,6 +7929,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7524,7 +7957,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -7565,7 +7998,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -7624,6 +8057,8 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7634,6 +8069,9 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7652,6 +8090,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7685,12 +8124,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -7737,12 +8176,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -7801,6 +8240,8 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7811,6 +8252,9 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7877,6 +8321,7 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7899,7 +8344,7 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -7935,7 +8380,7 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -7994,6 +8439,8 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8004,6 +8451,9 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8022,6 +8472,7 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8050,12 +8501,12 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -8097,12 +8548,12 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -8161,6 +8612,8 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8171,6 +8624,9 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8189,6 +8645,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8216,7 +8673,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -8257,7 +8714,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -8316,6 +8773,8 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8326,6 +8785,9 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8344,6 +8806,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8377,12 +8840,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -8429,12 +8892,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -8493,6 +8956,8 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8503,6 +8968,9 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8537,6 +9005,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8559,7 +9028,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -8595,7 +9064,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -8654,6 +9123,8 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8664,6 +9135,9 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8682,6 +9156,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8710,12 +9185,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -8757,12 +9232,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -8821,6 +9296,8 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8831,6 +9308,9 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8865,6 +9345,7 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -8881,7 +9362,7 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -8902,7 +9383,7 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -8936,6 +9417,8 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8946,6 +9429,9 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8964,6 +9450,7 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -8980,10 +9467,10 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -9004,10 +9491,10 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -9041,6 +9528,8 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9051,6 +9540,9 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9069,6 +9561,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9090,7 +9583,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -9116,7 +9609,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -9150,6 +9643,8 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9160,6 +9655,9 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9178,6 +9676,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9199,10 +9698,10 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -9228,10 +9727,10 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -9265,6 +9764,8 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9275,6 +9776,9 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9341,6 +9845,7 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9357,7 +9862,7 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -9378,7 +9883,7 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -9412,6 +9917,8 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9422,6 +9929,9 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9440,6 +9950,7 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9456,10 +9967,10 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -9480,10 +9991,10 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -9517,6 +10028,8 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9527,6 +10040,9 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9545,6 +10061,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9566,7 +10083,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -9592,7 +10109,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -9626,6 +10143,8 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9636,6 +10155,9 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9654,6 +10176,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9675,10 +10198,10 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -9704,10 +10227,10 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -9741,6 +10264,8 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9751,6 +10276,9 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9785,6 +10313,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9801,7 +10330,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -9822,7 +10351,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -9856,6 +10385,8 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9866,6 +10397,9 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9884,6 +10418,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9900,10 +10435,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -9924,10 +10459,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -9961,6 +10496,8 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9971,6 +10508,9 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10005,6 +10545,7 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10022,7 +10563,7 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -10052,7 +10593,7 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -10110,6 +10651,8 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10120,6 +10663,9 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10138,6 +10684,7 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10155,10 +10702,10 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -10188,10 +10735,10 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -10249,6 +10796,8 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10259,6 +10808,9 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10277,6 +10829,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10299,7 +10852,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -10334,7 +10887,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -10392,6 +10945,8 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10402,6 +10957,9 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10420,6 +10978,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10442,10 +11001,10 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -10480,10 +11039,10 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -10541,6 +11100,8 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10551,6 +11112,9 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10617,6 +11181,7 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10634,7 +11199,7 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -10664,7 +11229,7 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -10722,6 +11287,8 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10732,6 +11299,9 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10750,6 +11320,7 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10767,10 +11338,10 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -10800,10 +11371,10 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -10861,6 +11432,8 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10871,6 +11444,9 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10889,6 +11465,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10911,7 +11488,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -10946,7 +11523,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -11004,6 +11581,8 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11014,6 +11593,9 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11032,6 +11614,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11054,10 +11637,10 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -11092,10 +11675,10 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -11153,6 +11736,8 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11163,6 +11748,9 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11197,6 +11785,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11214,7 +11803,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -11244,7 +11833,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); } loaded_pix = getbpl8_32(); @@ -11302,6 +11891,8 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11312,6 +11903,9 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11330,6 +11924,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11347,10 +11942,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -11380,10 +11975,10 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); } loaded_pix = getbpl8_32(); @@ -11441,6 +12036,8 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11451,6 +12048,9 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11485,6 +12085,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -11501,7 +12102,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -11523,7 +12124,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -11558,6 +12159,8 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11568,6 +12171,9 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11582,6 +12188,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -11598,7 +12205,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -11618,7 +12225,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -11639,7 +12246,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -11659,7 +12266,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -11697,6 +12304,8 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11707,6 +12316,9 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11721,6 +12333,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -11737,10 +12350,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -11762,10 +12375,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -11800,6 +12413,8 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11810,6 +12425,9 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11824,6 +12442,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -11840,10 +12459,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -11863,10 +12482,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -11887,10 +12506,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -11910,10 +12529,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -11951,6 +12570,8 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11961,6 +12582,9 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11975,6 +12599,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -11996,7 +12621,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -12023,7 +12648,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -12058,6 +12683,8 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12068,6 +12695,9 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12082,6 +12712,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -12103,7 +12734,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -12128,7 +12759,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -12154,7 +12785,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -12179,7 +12810,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -12217,6 +12848,8 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12227,6 +12860,9 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12241,6 +12877,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -12262,10 +12899,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -12292,10 +12929,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -12330,6 +12967,8 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12340,6 +12979,9 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12354,6 +12996,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -12375,10 +13018,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -12403,10 +13046,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -12432,10 +13075,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -12460,10 +13103,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -12501,6 +13144,8 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12511,6 +13156,9 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12653,6 +13301,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -12670,7 +13319,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -12701,7 +13350,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -12760,6 +13409,8 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12770,6 +13421,9 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12784,6 +13438,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -12801,7 +13456,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -12829,7 +13484,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -12851,7 +13506,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -12879,7 +13534,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -12935,6 +13590,8 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12945,6 +13602,9 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12959,6 +13619,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -12976,10 +13637,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -13010,10 +13671,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -13072,6 +13733,8 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13082,6 +13745,9 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13096,6 +13762,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -13113,10 +13780,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -13144,10 +13811,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -13169,10 +13836,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -13200,10 +13867,10 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -13259,6 +13926,8 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13269,6 +13938,9 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13283,6 +13955,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -13305,7 +13978,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -13341,7 +14014,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -13400,6 +14073,8 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13410,6 +14085,9 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13424,6 +14102,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -13446,7 +14125,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -13479,7 +14158,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -13506,7 +14185,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -13539,7 +14218,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -13595,6 +14274,8 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13605,6 +14286,9 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13619,6 +14303,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -13641,10 +14326,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -13680,10 +14365,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -13742,6 +14427,8 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13752,6 +14439,9 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13766,6 +14456,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -13788,10 +14479,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -13824,10 +14515,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -13854,10 +14545,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -13890,10 +14581,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -13949,6 +14640,8 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13959,6 +14652,9 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14101,6 +14797,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -14122,7 +14819,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -14149,7 +14846,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -14176,7 +14873,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -14203,7 +14900,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -14260,6 +14957,8 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14270,6 +14969,9 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14288,6 +14990,7 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -14315,12 +15018,12 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -14353,12 +15056,12 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -14391,12 +15094,12 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -14429,12 +15132,12 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -14491,6 +15194,8 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14501,6 +15206,9 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14519,6 +15227,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -14545,7 +15254,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -14577,7 +15286,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -14609,7 +15318,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -14641,7 +15350,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -14698,6 +15407,8 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14708,6 +15419,9 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14726,6 +15440,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -14758,12 +15473,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -14801,12 +15516,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -14844,12 +15559,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -14887,12 +15602,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -14949,6 +15664,8 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14959,6 +15676,9 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15025,6 +15745,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -15046,7 +15767,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -15073,7 +15794,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -15100,7 +15821,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -15127,7 +15848,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -15184,6 +15905,8 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15194,6 +15917,9 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15212,6 +15938,7 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -15239,12 +15966,12 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -15277,12 +16004,12 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -15315,12 +16042,12 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -15353,12 +16080,12 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -15415,6 +16142,8 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15425,6 +16154,9 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15443,6 +16175,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -15469,7 +16202,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -15501,7 +16234,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -15533,7 +16266,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -15565,7 +16298,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -15622,6 +16355,8 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15632,6 +16367,9 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15650,6 +16388,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -15682,12 +16421,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -15725,12 +16464,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -15768,12 +16507,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -15811,12 +16550,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -15873,6 +16612,8 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15883,6 +16624,9 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15917,6 +16661,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -15938,7 +16683,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -15965,7 +16710,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -15992,7 +16737,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -16019,7 +16764,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -16076,6 +16821,8 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16086,6 +16833,9 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16104,6 +16854,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -16131,12 +16882,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -16169,12 +16920,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -16207,12 +16958,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -16245,12 +16996,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -16307,6 +17058,8 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16317,6 +17070,9 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16351,6 +17107,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16373,7 +17130,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -16409,7 +17166,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -16445,7 +17202,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -16481,7 +17238,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -16578,6 +17335,8 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16588,6 +17347,9 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16606,6 +17368,7 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16634,12 +17397,12 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -16681,12 +17444,12 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -16728,12 +17491,12 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -16775,12 +17538,12 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -16877,6 +17640,8 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16887,6 +17652,9 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16905,6 +17673,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16932,7 +17701,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -16973,7 +17742,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -17014,7 +17783,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -17055,7 +17824,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -17152,6 +17921,8 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17162,6 +17933,9 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17180,6 +17954,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17213,12 +17988,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -17265,12 +18040,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -17317,12 +18092,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -17369,12 +18144,12 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -17471,6 +18246,8 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17481,6 +18258,9 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17547,6 +18327,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17569,7 +18350,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -17605,7 +18386,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -17641,7 +18422,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -17677,7 +18458,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -17774,6 +18555,8 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17784,6 +18567,9 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17802,6 +18588,7 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17830,12 +18617,12 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -17877,12 +18664,12 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -17924,12 +18711,12 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -17971,12 +18758,12 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -18073,6 +18860,8 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18083,6 +18872,9 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18101,6 +18893,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18128,7 +18921,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -18169,7 +18962,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -18210,7 +19003,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -18251,7 +19044,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -18348,6 +19141,8 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18358,6 +19153,9 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18376,6 +19174,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18409,12 +19208,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -18461,12 +19260,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -18513,12 +19312,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -18565,12 +19364,12 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -18667,6 +19466,8 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18677,6 +19478,9 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18711,6 +19515,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18733,7 +19538,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -18769,7 +19574,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -18805,7 +19610,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -18841,7 +19646,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -18938,6 +19743,8 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18948,6 +19755,9 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18966,6 +19776,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18994,12 +19805,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -19041,12 +19852,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -19088,12 +19899,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -19135,12 +19946,12 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -19237,6 +20048,8 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19247,6 +20060,9 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19281,6 +20097,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -19302,7 +20119,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -19329,7 +20146,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -19356,7 +20173,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -19383,7 +20200,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -19440,6 +20257,8 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19450,6 +20269,9 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19468,6 +20290,7 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -19495,12 +20318,12 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -19533,12 +20356,12 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -19571,12 +20394,12 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -19609,12 +20432,12 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -19671,6 +20494,8 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19681,6 +20506,9 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19699,6 +20527,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -19725,7 +20554,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -19757,7 +20586,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -19789,7 +20618,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -19821,7 +20650,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -19878,6 +20707,8 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19888,6 +20719,9 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19906,6 +20740,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -19938,12 +20773,12 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -19981,12 +20816,12 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -20024,12 +20859,12 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -20067,12 +20902,12 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -20129,6 +20964,8 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20139,6 +20976,9 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20205,6 +21045,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -20226,7 +21067,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -20253,7 +21094,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -20280,7 +21121,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -20307,7 +21148,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -20364,6 +21205,8 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20374,6 +21217,9 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20392,6 +21238,7 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -20419,12 +21266,12 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -20457,12 +21304,12 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -20495,12 +21342,12 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -20533,12 +21380,12 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -20595,6 +21442,8 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20605,6 +21454,9 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20623,6 +21475,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -20649,7 +21502,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -20681,7 +21534,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -20713,7 +21566,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -20745,7 +21598,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -20802,6 +21655,8 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20812,6 +21667,9 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20830,6 +21688,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -20862,12 +21721,12 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -20905,12 +21764,12 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -20948,12 +21807,12 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -20991,12 +21850,12 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -21053,6 +21912,8 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21063,6 +21924,9 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21097,6 +21961,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -21118,7 +21983,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -21145,7 +22010,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -21172,7 +22037,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -21199,7 +22064,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -21256,6 +22121,8 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21266,6 +22133,9 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21284,6 +22154,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -21311,12 +22182,12 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -21349,12 +22220,12 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -21387,12 +22258,12 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -21425,12 +22296,12 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -21487,6 +22358,8 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21497,6 +22370,9 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21531,6 +22407,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -21553,7 +22430,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -21589,7 +22466,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -21625,7 +22502,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -21661,7 +22538,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -21758,6 +22635,8 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21768,6 +22647,9 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21786,6 +22668,7 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -21814,12 +22697,12 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -21861,12 +22744,12 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -21908,12 +22791,12 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -21955,12 +22838,12 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -22057,6 +22940,8 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22067,6 +22952,9 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22085,6 +22973,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -22112,7 +23001,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -22153,7 +23042,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -22194,7 +23083,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -22235,7 +23124,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr_genlock(void) shiftbpl4(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); @@ -22332,6 +23221,8 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22342,6 +23233,9 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22360,6 +23254,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -22393,12 +23288,12 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -22445,12 +23340,12 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -22497,12 +23392,12 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -22549,12 +23444,12 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o(); loaded_pix = getbpl4_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_32(); @@ -22651,6 +23546,8 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22661,6 +23558,9 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22727,6 +23627,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -22749,7 +23650,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -22785,7 +23686,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -22821,7 +23722,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -22857,7 +23758,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -22954,6 +23855,8 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22964,6 +23867,9 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22982,6 +23888,7 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23010,12 +23917,12 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -23057,12 +23964,12 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -23104,12 +24011,12 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -23151,12 +24058,12 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -23253,6 +24160,8 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23263,6 +24172,9 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23281,6 +24193,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23308,7 +24221,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -23349,7 +24262,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -23390,7 +24303,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -23431,7 +24344,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -23528,6 +24441,8 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23538,6 +24453,9 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23556,6 +24474,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23589,12 +24508,12 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -23641,12 +24560,12 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -23693,12 +24612,12 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -23745,12 +24664,12 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -23847,6 +24766,8 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23857,6 +24778,9 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23891,6 +24815,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23913,7 +24838,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -23949,7 +24874,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -23985,7 +24910,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -24021,7 +24946,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr_genlock(void) shiftbpl8(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); @@ -24118,6 +25043,8 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24128,6 +25055,9 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24146,6 +25076,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -24174,12 +25105,12 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -24221,12 +25152,12 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -24268,12 +25199,12 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -24315,12 +25246,12 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o(); loaded_pix = getbpl8_32(); } - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_32(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_32(); @@ -24417,6 +25348,8 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24427,6 +25360,9 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24461,6 +25397,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -24477,7 +25414,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -24498,7 +25435,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -24519,7 +25456,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -24540,7 +25477,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_genlock(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -24596,6 +25533,8 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24606,6 +25545,9 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24624,6 +25566,7 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -24640,10 +25583,10 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -24664,10 +25607,10 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -24688,10 +25631,10 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -24712,10 +25655,10 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_genlock(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -24771,6 +25714,8 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24781,6 +25726,9 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24799,6 +25747,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -24820,7 +25769,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -24846,7 +25795,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -24872,7 +25821,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -24898,7 +25847,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_genlock(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -24954,6 +25903,8 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24964,6 +25915,9 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24982,6 +25936,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -25003,10 +25958,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -25032,10 +25987,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -25061,10 +26016,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -25090,10 +26045,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_genlock(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -25149,6 +26104,8 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25159,6 +26116,9 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25305,6 +26265,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -25322,7 +26283,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -25352,7 +26313,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -25382,7 +26343,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -25412,7 +26373,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -25508,6 +26469,8 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25518,6 +26481,9 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25536,6 +26502,7 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -25553,10 +26520,10 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -25586,10 +26553,10 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -25619,10 +26586,10 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -25652,10 +26619,10 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -25751,6 +26718,8 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25761,6 +26730,9 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25779,6 +26751,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -25801,7 +26774,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -25836,7 +26809,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -25871,7 +26844,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -25906,7 +26879,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4(); } loaded_pix = getbpl4_32(); @@ -26002,6 +26975,8 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26012,6 +26987,9 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26030,6 +27008,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -26052,10 +27031,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -26090,10 +27069,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix1; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 1) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -26128,10 +27107,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 2) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -26166,10 +27145,10 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix3; } shiftbpl4(); - if (bpldat_copy[0] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { copybpl4e(); } - if (bpldat_copy[1] && ((cnt | 3) & 31) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) { copybpl4o(); } loaded_pix = getbpl4_32(); @@ -26265,6 +27244,8 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26275,6 +27256,9 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } diff --git a/linetoscr_aga_fm2.cpp b/linetoscr_aga_fm2.cpp index 1422db66..274296ea 100644 --- a/linetoscr_aga_fm2.cpp +++ b/linetoscr_aga_fm2.cpp @@ -15,6 +15,7 @@ static void lts_aga_fm2_n0_p2_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -28,7 +29,7 @@ static void lts_aga_fm2_n0_p2_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -49,6 +50,8 @@ static void lts_aga_fm2_n0_p2_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -59,6 +62,9 @@ static void lts_aga_fm2_n0_p2_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -77,6 +83,7 @@ static void lts_aga_fm2_n1_p2_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -90,10 +97,10 @@ static void lts_aga_fm2_n1_p2_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -114,6 +121,8 @@ static void lts_aga_fm2_n1_p2_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -124,6 +133,9 @@ static void lts_aga_fm2_n1_p2_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -142,6 +154,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -160,7 +173,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -181,6 +194,8 @@ static void lts_aga_fm2_dpf0_p2_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -191,6 +206,9 @@ static void lts_aga_fm2_dpf0_p2_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -209,6 +227,7 @@ static void lts_aga_fm2_dpf1_p2_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -227,10 +246,10 @@ static void lts_aga_fm2_dpf1_p2_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -251,6 +270,8 @@ static void lts_aga_fm2_dpf1_p2_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -261,6 +282,9 @@ static void lts_aga_fm2_dpf1_p2_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -327,6 +351,7 @@ static void lts_aga_fm2_n0_p4_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -340,7 +365,7 @@ static void lts_aga_fm2_n0_p4_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -361,6 +386,8 @@ static void lts_aga_fm2_n0_p4_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -371,6 +398,9 @@ static void lts_aga_fm2_n0_p4_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -389,6 +419,7 @@ static void lts_aga_fm2_n1_p4_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -402,10 +433,10 @@ static void lts_aga_fm2_n1_p4_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -426,6 +457,8 @@ static void lts_aga_fm2_n1_p4_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -436,6 +469,9 @@ static void lts_aga_fm2_n1_p4_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -454,6 +490,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -472,7 +509,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -493,6 +530,8 @@ static void lts_aga_fm2_dpf0_p4_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -503,6 +542,9 @@ static void lts_aga_fm2_dpf0_p4_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -521,6 +563,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -539,10 +582,10 @@ static void lts_aga_fm2_dpf1_p4_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -563,6 +606,8 @@ static void lts_aga_fm2_dpf1_p4_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -573,6 +618,9 @@ static void lts_aga_fm2_dpf1_p4_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -639,6 +687,7 @@ static void lts_aga_fm2_n0_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -652,7 +701,7 @@ static void lts_aga_fm2_n0_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -673,6 +722,8 @@ static void lts_aga_fm2_n0_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -683,6 +734,9 @@ static void lts_aga_fm2_n0_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -701,6 +755,7 @@ static void lts_aga_fm2_n1_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -714,10 +769,10 @@ static void lts_aga_fm2_n1_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -738,6 +793,8 @@ static void lts_aga_fm2_n1_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -748,6 +805,9 @@ static void lts_aga_fm2_n1_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -766,6 +826,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -784,7 +845,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -805,6 +866,8 @@ static void lts_aga_fm2_dpf0_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -815,6 +878,9 @@ static void lts_aga_fm2_dpf0_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -833,6 +899,7 @@ static void lts_aga_fm2_dpf1_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -851,10 +918,10 @@ static void lts_aga_fm2_dpf1_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -875,6 +942,8 @@ static void lts_aga_fm2_dpf1_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -885,6 +954,9 @@ static void lts_aga_fm2_dpf1_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -903,6 +975,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -922,7 +995,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -943,6 +1016,8 @@ static void lts_aga_fm2_ehb0_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -953,6 +1028,9 @@ static void lts_aga_fm2_ehb0_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -971,6 +1049,7 @@ static void lts_aga_fm2_ehb1_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -990,10 +1069,10 @@ static void lts_aga_fm2_ehb1_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -1014,6 +1093,8 @@ static void lts_aga_fm2_ehb1_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1024,6 +1105,9 @@ static void lts_aga_fm2_ehb1_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1042,6 +1126,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1055,7 +1140,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -1076,6 +1161,8 @@ static void lts_aga_fm2_ham0_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1086,6 +1173,9 @@ static void lts_aga_fm2_ham0_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1104,6 +1194,7 @@ static void lts_aga_fm2_ham1_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1117,10 +1208,10 @@ static void lts_aga_fm2_ham1_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -1141,6 +1232,8 @@ static void lts_aga_fm2_ham1_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1151,6 +1244,9 @@ static void lts_aga_fm2_ham1_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1169,6 +1265,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1183,7 +1280,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -1204,6 +1301,8 @@ static void lts_aga_fm2_kehb0_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1214,6 +1313,9 @@ static void lts_aga_fm2_kehb0_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1232,6 +1334,7 @@ static void lts_aga_fm2_kehb1_p6_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1246,10 +1349,10 @@ static void lts_aga_fm2_kehb1_p6_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -1270,6 +1373,8 @@ static void lts_aga_fm2_kehb1_p6_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1280,6 +1385,9 @@ static void lts_aga_fm2_kehb1_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1298,6 +1406,7 @@ static void lts_aga_fm2_n0_p8_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1311,7 +1420,7 @@ static void lts_aga_fm2_n0_p8_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -1332,6 +1441,8 @@ static void lts_aga_fm2_n0_p8_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1342,6 +1453,9 @@ static void lts_aga_fm2_n0_p8_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1360,6 +1474,7 @@ static void lts_aga_fm2_n1_p8_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1373,10 +1488,10 @@ static void lts_aga_fm2_n1_p8_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -1397,6 +1512,8 @@ static void lts_aga_fm2_n1_p8_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1407,6 +1524,9 @@ static void lts_aga_fm2_n1_p8_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1425,6 +1545,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1443,7 +1564,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -1464,6 +1585,8 @@ static void lts_aga_fm2_dpf0_p8_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1474,6 +1597,9 @@ static void lts_aga_fm2_dpf0_p8_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1492,6 +1618,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1510,10 +1637,10 @@ static void lts_aga_fm2_dpf1_p8_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -1534,6 +1661,8 @@ static void lts_aga_fm2_dpf1_p8_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1544,6 +1673,9 @@ static void lts_aga_fm2_dpf1_p8_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1578,6 +1710,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1591,7 +1724,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -1612,6 +1745,8 @@ static void lts_aga_fm2_ham0_p8_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1622,6 +1757,9 @@ static void lts_aga_fm2_ham0_p8_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1640,6 +1778,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -1653,10 +1792,10 @@ static void lts_aga_fm2_ham1_p8_ilores_dlores(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -1677,6 +1816,8 @@ static void lts_aga_fm2_ham1_p8_ilores_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1687,6 +1828,9 @@ static void lts_aga_fm2_ham1_p8_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1721,6 +1865,7 @@ static void lts_aga_fm2_n0_p2_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1735,7 +1880,7 @@ static void lts_aga_fm2_n0_p2_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -1770,6 +1915,8 @@ static void lts_aga_fm2_n0_p2_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1780,6 +1927,9 @@ static void lts_aga_fm2_n0_p2_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1798,6 +1948,7 @@ static void lts_aga_fm2_n1_p2_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1812,10 +1963,10 @@ static void lts_aga_fm2_n1_p2_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -1850,6 +2001,8 @@ static void lts_aga_fm2_n1_p2_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1860,6 +2013,9 @@ static void lts_aga_fm2_n1_p2_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1878,6 +2034,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1897,7 +2054,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -1932,6 +2089,8 @@ static void lts_aga_fm2_dpf0_p2_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1942,6 +2101,9 @@ static void lts_aga_fm2_dpf0_p2_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1960,6 +2122,7 @@ static void lts_aga_fm2_dpf1_p2_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1979,10 +2142,10 @@ static void lts_aga_fm2_dpf1_p2_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -2017,6 +2180,8 @@ static void lts_aga_fm2_dpf1_p2_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2027,6 +2192,9 @@ static void lts_aga_fm2_dpf1_p2_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2093,6 +2261,7 @@ static void lts_aga_fm2_n0_p4_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2107,7 +2276,7 @@ static void lts_aga_fm2_n0_p4_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -2142,6 +2311,8 @@ static void lts_aga_fm2_n0_p4_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2152,6 +2323,9 @@ static void lts_aga_fm2_n0_p4_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2170,6 +2344,7 @@ static void lts_aga_fm2_n1_p4_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2184,10 +2359,10 @@ static void lts_aga_fm2_n1_p4_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -2222,6 +2397,8 @@ static void lts_aga_fm2_n1_p4_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2232,6 +2409,9 @@ static void lts_aga_fm2_n1_p4_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2250,6 +2430,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2269,7 +2450,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -2304,6 +2485,8 @@ static void lts_aga_fm2_dpf0_p4_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2314,6 +2497,9 @@ static void lts_aga_fm2_dpf0_p4_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2332,6 +2518,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2351,10 +2538,10 @@ static void lts_aga_fm2_dpf1_p4_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -2389,6 +2576,8 @@ static void lts_aga_fm2_dpf1_p4_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2399,6 +2588,9 @@ static void lts_aga_fm2_dpf1_p4_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2465,6 +2657,7 @@ static void lts_aga_fm2_n0_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2479,7 +2672,7 @@ static void lts_aga_fm2_n0_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -2514,6 +2707,8 @@ static void lts_aga_fm2_n0_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2524,6 +2719,9 @@ static void lts_aga_fm2_n0_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2542,6 +2740,7 @@ static void lts_aga_fm2_n1_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2556,10 +2755,10 @@ static void lts_aga_fm2_n1_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -2594,6 +2793,8 @@ static void lts_aga_fm2_n1_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2604,6 +2805,9 @@ static void lts_aga_fm2_n1_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2622,6 +2826,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2641,7 +2846,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -2676,6 +2881,8 @@ static void lts_aga_fm2_dpf0_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2686,6 +2893,9 @@ static void lts_aga_fm2_dpf0_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2704,6 +2914,7 @@ static void lts_aga_fm2_dpf1_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2723,10 +2934,10 @@ static void lts_aga_fm2_dpf1_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -2761,6 +2972,8 @@ static void lts_aga_fm2_dpf1_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2771,6 +2984,9 @@ static void lts_aga_fm2_dpf1_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2789,6 +3005,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2809,7 +3026,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -2844,6 +3061,8 @@ static void lts_aga_fm2_ehb0_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2854,6 +3073,9 @@ static void lts_aga_fm2_ehb0_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2872,6 +3094,7 @@ static void lts_aga_fm2_ehb1_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2892,10 +3115,10 @@ static void lts_aga_fm2_ehb1_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -2930,6 +3153,8 @@ static void lts_aga_fm2_ehb1_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2940,6 +3165,9 @@ static void lts_aga_fm2_ehb1_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2958,6 +3186,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -2972,7 +3201,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -3007,6 +3236,8 @@ static void lts_aga_fm2_ham0_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3017,6 +3248,9 @@ static void lts_aga_fm2_ham0_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3035,6 +3269,7 @@ static void lts_aga_fm2_ham1_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3049,10 +3284,10 @@ static void lts_aga_fm2_ham1_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -3087,6 +3322,8 @@ static void lts_aga_fm2_ham1_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3097,6 +3334,9 @@ static void lts_aga_fm2_ham1_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3115,6 +3355,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3130,7 +3371,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -3165,6 +3406,8 @@ static void lts_aga_fm2_kehb0_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3175,6 +3418,9 @@ static void lts_aga_fm2_kehb0_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3193,6 +3439,7 @@ static void lts_aga_fm2_kehb1_p6_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3208,10 +3455,10 @@ static void lts_aga_fm2_kehb1_p6_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -3246,6 +3493,8 @@ static void lts_aga_fm2_kehb1_p6_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3256,6 +3505,9 @@ static void lts_aga_fm2_kehb1_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3274,6 +3526,7 @@ static void lts_aga_fm2_n0_p8_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3288,7 +3541,7 @@ static void lts_aga_fm2_n0_p8_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -3323,6 +3576,8 @@ static void lts_aga_fm2_n0_p8_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3333,6 +3588,9 @@ static void lts_aga_fm2_n0_p8_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3351,6 +3609,7 @@ static void lts_aga_fm2_n1_p8_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3365,10 +3624,10 @@ static void lts_aga_fm2_n1_p8_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -3403,6 +3662,8 @@ static void lts_aga_fm2_n1_p8_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3413,6 +3674,9 @@ static void lts_aga_fm2_n1_p8_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3431,6 +3695,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3450,7 +3715,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -3485,6 +3750,8 @@ static void lts_aga_fm2_dpf0_p8_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3495,6 +3762,9 @@ static void lts_aga_fm2_dpf0_p8_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3513,6 +3783,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3532,10 +3803,10 @@ static void lts_aga_fm2_dpf1_p8_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -3570,6 +3841,8 @@ static void lts_aga_fm2_dpf1_p8_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3580,6 +3853,9 @@ static void lts_aga_fm2_dpf1_p8_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3614,6 +3890,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3628,7 +3905,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -3663,6 +3940,8 @@ static void lts_aga_fm2_ham0_p8_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3673,6 +3952,9 @@ static void lts_aga_fm2_ham0_p8_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3691,6 +3973,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3705,10 +3988,10 @@ static void lts_aga_fm2_ham1_p8_ilores_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -3743,6 +4026,8 @@ static void lts_aga_fm2_ham1_p8_ilores_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3753,6 +4038,9 @@ static void lts_aga_fm2_ham1_p8_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3787,6 +4075,7 @@ static void lts_aga_fm2_n0_p2_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -3800,7 +4089,7 @@ static void lts_aga_fm2_n0_p2_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -3822,6 +4111,8 @@ static void lts_aga_fm2_n0_p2_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3832,6 +4123,9 @@ static void lts_aga_fm2_n0_p2_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3846,6 +4140,7 @@ static void lts_aga_fm2_n0_p2_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -3859,7 +4154,7 @@ static void lts_aga_fm2_n0_p2_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -3876,7 +4171,7 @@ static void lts_aga_fm2_n0_p2_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -3898,6 +4193,8 @@ static void lts_aga_fm2_n0_p2_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3908,6 +4205,9 @@ static void lts_aga_fm2_n0_p2_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3922,6 +4222,7 @@ static void lts_aga_fm2_n1_p2_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -3935,10 +4236,10 @@ static void lts_aga_fm2_n1_p2_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -3960,6 +4261,8 @@ static void lts_aga_fm2_n1_p2_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3970,6 +4273,9 @@ static void lts_aga_fm2_n1_p2_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3984,6 +4290,7 @@ static void lts_aga_fm2_n1_p2_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -3997,10 +4304,10 @@ static void lts_aga_fm2_n1_p2_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -4017,10 +4324,10 @@ static void lts_aga_fm2_n1_p2_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -4042,6 +4349,8 @@ static void lts_aga_fm2_n1_p2_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4052,6 +4361,9 @@ static void lts_aga_fm2_n1_p2_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4066,6 +4378,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4084,7 +4397,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -4106,6 +4419,8 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4116,6 +4431,9 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4130,6 +4448,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4148,7 +4467,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -4170,7 +4489,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -4192,6 +4511,8 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4202,6 +4523,9 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4216,6 +4540,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4234,10 +4559,10 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -4259,6 +4584,8 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4269,6 +4596,9 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4283,6 +4613,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4301,10 +4632,10 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -4326,10 +4657,10 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -4351,6 +4682,8 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4361,6 +4694,9 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4423,6 +4759,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4436,7 +4773,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -4458,6 +4795,8 @@ static void lts_aga_fm2_n0_p4_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4468,6 +4807,9 @@ static void lts_aga_fm2_n0_p4_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4482,6 +4824,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4495,7 +4838,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -4512,7 +4855,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -4534,6 +4877,8 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4544,6 +4889,9 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4558,6 +4906,7 @@ static void lts_aga_fm2_n1_p4_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4571,10 +4920,10 @@ static void lts_aga_fm2_n1_p4_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -4596,6 +4945,8 @@ static void lts_aga_fm2_n1_p4_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4606,6 +4957,9 @@ static void lts_aga_fm2_n1_p4_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4620,6 +4974,7 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4633,10 +4988,10 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -4653,10 +5008,10 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -4678,6 +5033,8 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4688,6 +5045,9 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4702,6 +5062,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4720,7 +5081,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -4742,6 +5103,8 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4752,6 +5115,9 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4766,6 +5132,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4784,7 +5151,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -4806,7 +5173,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -4828,6 +5195,8 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4838,6 +5207,9 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4852,6 +5224,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4870,10 +5243,10 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -4895,6 +5268,8 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4905,6 +5280,9 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4919,6 +5297,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -4937,10 +5316,10 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -4962,10 +5341,10 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -4987,6 +5366,8 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4997,6 +5378,9 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5059,6 +5443,7 @@ static void lts_aga_fm2_n0_p6_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5072,7 +5457,7 @@ static void lts_aga_fm2_n0_p6_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -5094,6 +5479,8 @@ static void lts_aga_fm2_n0_p6_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5104,6 +5491,9 @@ static void lts_aga_fm2_n0_p6_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5118,6 +5508,7 @@ static void lts_aga_fm2_n0_p6_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5131,7 +5522,7 @@ static void lts_aga_fm2_n0_p6_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -5148,7 +5539,7 @@ static void lts_aga_fm2_n0_p6_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -5170,6 +5561,8 @@ static void lts_aga_fm2_n0_p6_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5180,6 +5573,9 @@ static void lts_aga_fm2_n0_p6_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5194,6 +5590,7 @@ static void lts_aga_fm2_n1_p6_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5207,10 +5604,10 @@ static void lts_aga_fm2_n1_p6_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -5232,6 +5629,8 @@ static void lts_aga_fm2_n1_p6_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5242,6 +5641,9 @@ static void lts_aga_fm2_n1_p6_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5256,6 +5658,7 @@ static void lts_aga_fm2_n1_p6_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5269,10 +5672,10 @@ static void lts_aga_fm2_n1_p6_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -5289,10 +5692,10 @@ static void lts_aga_fm2_n1_p6_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -5314,6 +5717,8 @@ static void lts_aga_fm2_n1_p6_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5324,6 +5729,9 @@ static void lts_aga_fm2_n1_p6_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5338,6 +5746,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5356,7 +5765,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -5378,6 +5787,8 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5388,6 +5799,9 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5402,6 +5816,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5420,7 +5835,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -5442,7 +5857,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -5464,6 +5879,8 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5474,6 +5891,9 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5488,6 +5908,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5506,10 +5927,10 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -5531,6 +5952,8 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5541,6 +5964,9 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5555,6 +5981,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5573,10 +6000,10 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -5598,10 +6025,10 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -5623,6 +6050,8 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5633,6 +6062,9 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5647,6 +6079,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5666,7 +6099,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -5688,6 +6121,8 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5698,6 +6133,9 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5712,6 +6150,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5731,7 +6170,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -5754,7 +6193,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -5776,6 +6215,8 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5786,6 +6227,9 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5800,6 +6244,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5819,10 +6264,10 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -5844,6 +6289,8 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5854,6 +6301,9 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5868,6 +6318,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5887,10 +6338,10 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -5913,10 +6364,10 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -5938,6 +6389,8 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5948,6 +6401,9 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5962,6 +6418,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -5975,7 +6432,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -5991,7 +6448,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -6012,6 +6469,8 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6022,6 +6481,9 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6036,6 +6498,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6049,7 +6512,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -6066,7 +6529,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -6088,6 +6551,8 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6098,6 +6563,9 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6112,6 +6580,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6125,10 +6594,10 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -6144,10 +6613,10 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -6168,6 +6637,8 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6178,6 +6649,9 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6192,6 +6666,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6205,10 +6680,10 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -6225,10 +6700,10 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -6250,6 +6725,8 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6260,6 +6737,9 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6274,6 +6754,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6288,7 +6769,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -6310,6 +6791,8 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6320,6 +6803,9 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6334,6 +6820,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6348,7 +6835,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -6366,7 +6853,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -6388,6 +6875,8 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6398,6 +6887,9 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6412,6 +6904,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6426,10 +6919,10 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -6451,6 +6944,8 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6461,6 +6956,9 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6475,6 +6973,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6489,10 +6988,10 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -6510,10 +7009,10 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -6535,6 +7034,8 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6545,6 +7046,9 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6559,6 +7063,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6572,7 +7077,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -6594,6 +7099,8 @@ static void lts_aga_fm2_n0_p8_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6604,6 +7111,9 @@ static void lts_aga_fm2_n0_p8_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6618,6 +7128,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6631,7 +7142,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -6648,7 +7159,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -6670,6 +7181,8 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6680,6 +7193,9 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6694,6 +7210,7 @@ static void lts_aga_fm2_n1_p8_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6707,10 +7224,10 @@ static void lts_aga_fm2_n1_p8_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -6732,6 +7249,8 @@ static void lts_aga_fm2_n1_p8_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6742,6 +7261,9 @@ static void lts_aga_fm2_n1_p8_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6756,6 +7278,7 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6769,10 +7292,10 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -6789,10 +7312,10 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -6814,6 +7337,8 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6824,6 +7349,9 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6838,6 +7366,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6856,7 +7385,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -6878,6 +7407,8 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6888,6 +7419,9 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6902,6 +7436,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -6920,7 +7455,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -6942,7 +7477,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -6964,6 +7499,8 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6974,6 +7511,9 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6988,6 +7528,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -7006,10 +7547,10 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -7031,6 +7572,8 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7041,6 +7584,9 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7055,6 +7601,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -7073,10 +7620,10 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -7098,10 +7645,10 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -7123,6 +7670,8 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7133,6 +7682,9 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7163,6 +7715,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -7176,7 +7729,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -7192,7 +7745,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -7213,6 +7766,8 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7223,6 +7778,9 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7237,6 +7795,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -7250,7 +7809,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -7267,7 +7826,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -7289,6 +7848,8 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7299,6 +7860,9 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7313,6 +7877,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -7326,10 +7891,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -7345,10 +7910,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -7369,6 +7934,8 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7379,6 +7946,9 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7393,6 +7963,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -7406,10 +7977,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -7426,10 +7997,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -7451,6 +8022,8 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7461,6 +8034,9 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7491,6 +8067,7 @@ static void lts_aga_fm2_n0_p2_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7505,7 +8082,7 @@ static void lts_aga_fm2_n0_p2_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -7541,6 +8118,8 @@ static void lts_aga_fm2_n0_p2_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7551,6 +8130,9 @@ static void lts_aga_fm2_n0_p2_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7565,6 +8147,7 @@ static void lts_aga_fm2_n0_p2_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7579,7 +8162,7 @@ static void lts_aga_fm2_n0_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -7604,7 +8187,7 @@ static void lts_aga_fm2_n0_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -7633,6 +8216,8 @@ static void lts_aga_fm2_n0_p2_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7643,6 +8228,9 @@ static void lts_aga_fm2_n0_p2_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7657,6 +8245,7 @@ static void lts_aga_fm2_n1_p2_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7671,10 +8260,10 @@ static void lts_aga_fm2_n1_p2_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -7710,6 +8299,8 @@ static void lts_aga_fm2_n1_p2_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7720,6 +8311,9 @@ static void lts_aga_fm2_n1_p2_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7734,6 +8328,7 @@ static void lts_aga_fm2_n1_p2_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7748,10 +8343,10 @@ static void lts_aga_fm2_n1_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -7776,10 +8371,10 @@ static void lts_aga_fm2_n1_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -7808,6 +8403,8 @@ static void lts_aga_fm2_n1_p2_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7818,6 +8415,9 @@ static void lts_aga_fm2_n1_p2_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7832,6 +8432,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7851,7 +8452,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -7887,6 +8488,8 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7897,6 +8500,9 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7911,6 +8517,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7930,7 +8537,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -7960,7 +8567,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -7989,6 +8596,8 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7999,6 +8608,9 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8013,6 +8625,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8032,10 +8645,10 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -8071,6 +8684,8 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8081,6 +8696,9 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8095,6 +8713,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8114,10 +8733,10 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -8147,10 +8766,10 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -8179,6 +8798,8 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8189,6 +8810,9 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8251,6 +8875,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8265,7 +8890,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -8301,6 +8926,8 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8311,6 +8938,9 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8325,6 +8955,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8339,7 +8970,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -8364,7 +8995,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -8393,6 +9024,8 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8403,6 +9036,9 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8417,6 +9053,7 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8431,10 +9068,10 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -8470,6 +9107,8 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8480,6 +9119,9 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8494,6 +9136,7 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8508,10 +9151,10 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -8536,10 +9179,10 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -8568,6 +9211,8 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8578,6 +9223,9 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8592,6 +9240,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8611,7 +9260,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -8647,6 +9296,8 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8657,6 +9308,9 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8671,6 +9325,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8690,7 +9345,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -8720,7 +9375,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -8749,6 +9404,8 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8759,6 +9416,9 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8773,6 +9433,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8792,10 +9453,10 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -8831,6 +9492,8 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8841,6 +9504,9 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8855,6 +9521,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8874,10 +9541,10 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -8907,10 +9574,10 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -8939,6 +9606,8 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8949,6 +9618,9 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9011,6 +9683,7 @@ static void lts_aga_fm2_n0_p6_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9025,7 +9698,7 @@ static void lts_aga_fm2_n0_p6_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -9061,6 +9734,8 @@ static void lts_aga_fm2_n0_p6_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9071,6 +9746,9 @@ static void lts_aga_fm2_n0_p6_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9085,6 +9763,7 @@ static void lts_aga_fm2_n0_p6_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9099,7 +9778,7 @@ static void lts_aga_fm2_n0_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -9124,7 +9803,7 @@ static void lts_aga_fm2_n0_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -9153,6 +9832,8 @@ static void lts_aga_fm2_n0_p6_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9163,6 +9844,9 @@ static void lts_aga_fm2_n0_p6_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9177,6 +9861,7 @@ static void lts_aga_fm2_n1_p6_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9191,10 +9876,10 @@ static void lts_aga_fm2_n1_p6_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -9230,6 +9915,8 @@ static void lts_aga_fm2_n1_p6_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9240,6 +9927,9 @@ static void lts_aga_fm2_n1_p6_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9254,6 +9944,7 @@ static void lts_aga_fm2_n1_p6_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9268,10 +9959,10 @@ static void lts_aga_fm2_n1_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -9296,10 +9987,10 @@ static void lts_aga_fm2_n1_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -9328,6 +10019,8 @@ static void lts_aga_fm2_n1_p6_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9338,6 +10031,9 @@ static void lts_aga_fm2_n1_p6_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9352,6 +10048,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9371,7 +10068,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -9407,6 +10104,8 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9417,6 +10116,9 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9431,6 +10133,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9450,7 +10153,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -9480,7 +10183,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -9509,6 +10212,8 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9519,6 +10224,9 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9533,6 +10241,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9552,10 +10261,10 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -9591,6 +10300,8 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9601,6 +10312,9 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9615,6 +10329,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9634,10 +10349,10 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -9667,10 +10382,10 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -9699,6 +10414,8 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9709,6 +10426,9 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9723,6 +10443,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9743,7 +10464,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -9779,6 +10500,8 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9789,6 +10512,9 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9803,6 +10529,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9823,7 +10550,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -9854,7 +10581,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -9883,6 +10610,8 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9893,6 +10622,9 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9907,6 +10639,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -9927,10 +10660,10 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -9966,6 +10699,8 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9976,6 +10711,9 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9990,6 +10728,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10010,10 +10749,10 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -10044,10 +10783,10 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -10076,6 +10815,8 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10086,6 +10827,9 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10100,6 +10844,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10114,7 +10859,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -10138,7 +10883,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_spr(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -10165,6 +10910,8 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10175,6 +10922,9 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10189,6 +10939,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10203,7 +10954,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -10228,7 +10979,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -10257,6 +11008,8 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10267,6 +11020,9 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10281,6 +11037,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10295,10 +11052,10 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -10322,10 +11079,10 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_spr(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -10352,6 +11109,8 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10362,6 +11121,9 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10376,6 +11138,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10390,10 +11153,10 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -10418,10 +11181,10 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -10450,6 +11213,8 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10460,6 +11225,9 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10474,6 +11242,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10489,7 +11258,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -10525,6 +11294,8 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10535,6 +11306,9 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10549,6 +11323,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10564,7 +11339,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -10590,7 +11365,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -10619,6 +11394,8 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10629,6 +11406,9 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10643,6 +11423,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10658,10 +11439,10 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -10697,6 +11478,8 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10707,6 +11490,9 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10721,6 +11507,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10736,10 +11523,10 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -10765,10 +11552,10 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -10797,6 +11584,8 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10807,6 +11596,9 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10821,6 +11613,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10835,7 +11628,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -10871,6 +11664,8 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10881,6 +11676,9 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10895,6 +11693,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10909,7 +11708,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -10934,7 +11733,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -10963,6 +11762,8 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10973,6 +11774,9 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10987,6 +11791,7 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11001,10 +11806,10 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -11040,6 +11845,8 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11050,6 +11857,9 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11064,6 +11874,7 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11078,10 +11889,10 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -11106,10 +11917,10 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -11138,6 +11949,8 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11148,6 +11961,9 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11162,6 +11978,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11181,7 +11998,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -11217,6 +12034,8 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11227,6 +12046,9 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11241,6 +12063,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11260,7 +12083,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -11290,7 +12113,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -11319,6 +12142,8 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11329,6 +12154,9 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11343,6 +12171,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11362,10 +12191,10 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -11401,6 +12230,8 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11411,6 +12242,9 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11425,6 +12259,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11444,10 +12279,10 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -11477,10 +12312,10 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -11509,6 +12344,8 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11519,6 +12356,9 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11549,6 +12389,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11563,7 +12404,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -11587,7 +12428,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -11614,6 +12455,8 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11624,6 +12467,9 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11638,6 +12484,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11652,7 +12499,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -11677,7 +12524,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -11706,6 +12553,8 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11716,6 +12565,9 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11730,6 +12582,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11744,10 +12597,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -11771,10 +12624,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -11801,6 +12654,8 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11811,6 +12666,9 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11825,6 +12683,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11839,10 +12698,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -11867,10 +12726,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -11899,6 +12758,8 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11909,6 +12770,9 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12579,6 +13443,7 @@ static void lts_aga_fm2_n0_p2_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -12597,7 +13462,7 @@ static void lts_aga_fm2_n0_p2_ilores_dhires(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -12621,7 +13486,7 @@ static void lts_aga_fm2_n0_p2_ilores_dhires(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -12652,6 +13517,8 @@ static void lts_aga_fm2_n0_p2_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12662,6 +13529,9 @@ static void lts_aga_fm2_n0_p2_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12680,6 +13550,7 @@ static void lts_aga_fm2_n1_p2_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -12704,12 +13575,12 @@ static void lts_aga_fm2_n1_p2_ilores_dhires(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -12739,12 +13610,12 @@ static void lts_aga_fm2_n1_p2_ilores_dhires(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -12775,6 +13646,8 @@ static void lts_aga_fm2_n1_p2_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12785,6 +13658,9 @@ static void lts_aga_fm2_n1_p2_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12803,6 +13679,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -12826,7 +13703,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dhires(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -12855,7 +13732,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dhires(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -12886,6 +13763,8 @@ static void lts_aga_fm2_dpf0_p2_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12896,6 +13775,9 @@ static void lts_aga_fm2_dpf0_p2_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12914,6 +13796,7 @@ static void lts_aga_fm2_dpf1_p2_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -12943,12 +13826,12 @@ static void lts_aga_fm2_dpf1_p2_ilores_dhires(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -12983,12 +13866,12 @@ static void lts_aga_fm2_dpf1_p2_ilores_dhires(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -13019,6 +13902,8 @@ static void lts_aga_fm2_dpf1_p2_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13029,6 +13914,9 @@ static void lts_aga_fm2_dpf1_p2_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13095,6 +13983,7 @@ static void lts_aga_fm2_n0_p4_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -13113,7 +14002,7 @@ static void lts_aga_fm2_n0_p4_ilores_dhires(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -13137,7 +14026,7 @@ static void lts_aga_fm2_n0_p4_ilores_dhires(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -13168,6 +14057,8 @@ static void lts_aga_fm2_n0_p4_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13178,6 +14069,9 @@ static void lts_aga_fm2_n0_p4_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13196,6 +14090,7 @@ static void lts_aga_fm2_n1_p4_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -13220,12 +14115,12 @@ static void lts_aga_fm2_n1_p4_ilores_dhires(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -13255,12 +14150,12 @@ static void lts_aga_fm2_n1_p4_ilores_dhires(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -13291,6 +14186,8 @@ static void lts_aga_fm2_n1_p4_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13301,6 +14198,9 @@ static void lts_aga_fm2_n1_p4_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13319,6 +14219,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -13342,7 +14243,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -13371,7 +14272,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -13402,6 +14303,8 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13412,6 +14315,9 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13430,6 +14336,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -13459,12 +14366,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -13499,12 +14406,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -13535,6 +14442,8 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13545,6 +14454,9 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13611,6 +14523,7 @@ static void lts_aga_fm2_n0_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -13629,7 +14542,7 @@ static void lts_aga_fm2_n0_p6_ilores_dhires(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -13653,7 +14566,7 @@ static void lts_aga_fm2_n0_p6_ilores_dhires(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -13684,6 +14597,8 @@ static void lts_aga_fm2_n0_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13694,6 +14609,9 @@ static void lts_aga_fm2_n0_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13712,6 +14630,7 @@ static void lts_aga_fm2_n1_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -13736,12 +14655,12 @@ static void lts_aga_fm2_n1_p6_ilores_dhires(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -13771,12 +14690,12 @@ static void lts_aga_fm2_n1_p6_ilores_dhires(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -13807,6 +14726,8 @@ static void lts_aga_fm2_n1_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13817,6 +14738,9 @@ static void lts_aga_fm2_n1_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13835,6 +14759,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -13858,7 +14783,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dhires(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -13887,7 +14812,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dhires(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -13918,6 +14843,8 @@ static void lts_aga_fm2_dpf0_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13928,6 +14855,9 @@ static void lts_aga_fm2_dpf0_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13946,6 +14876,7 @@ static void lts_aga_fm2_dpf1_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -13975,12 +14906,12 @@ static void lts_aga_fm2_dpf1_p6_ilores_dhires(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -14015,12 +14946,12 @@ static void lts_aga_fm2_dpf1_p6_ilores_dhires(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -14051,6 +14982,8 @@ static void lts_aga_fm2_dpf1_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14061,6 +14994,9 @@ static void lts_aga_fm2_dpf1_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14079,6 +15015,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14103,7 +15040,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dhires(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -14133,7 +15070,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dhires(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -14164,6 +15101,8 @@ static void lts_aga_fm2_ehb0_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14174,6 +15113,9 @@ static void lts_aga_fm2_ehb0_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14192,6 +15134,7 @@ static void lts_aga_fm2_ehb1_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14222,12 +15165,12 @@ static void lts_aga_fm2_ehb1_p6_ilores_dhires(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -14263,12 +15206,12 @@ static void lts_aga_fm2_ehb1_p6_ilores_dhires(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -14299,6 +15242,8 @@ static void lts_aga_fm2_ehb1_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14309,6 +15254,9 @@ static void lts_aga_fm2_ehb1_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14327,6 +15275,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14345,7 +15294,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dhires(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -14369,7 +15318,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dhires(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -14400,6 +15349,8 @@ static void lts_aga_fm2_ham0_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14410,6 +15361,9 @@ static void lts_aga_fm2_ham0_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14428,6 +15382,7 @@ static void lts_aga_fm2_ham1_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14452,12 +15407,12 @@ static void lts_aga_fm2_ham1_p6_ilores_dhires(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -14487,12 +15442,12 @@ static void lts_aga_fm2_ham1_p6_ilores_dhires(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -14523,6 +15478,8 @@ static void lts_aga_fm2_ham1_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14533,6 +15490,9 @@ static void lts_aga_fm2_ham1_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14551,6 +15511,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14570,7 +15531,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dhires(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -14595,7 +15556,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dhires(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -14626,6 +15587,8 @@ static void lts_aga_fm2_kehb0_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14636,6 +15599,9 @@ static void lts_aga_fm2_kehb0_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14654,6 +15620,7 @@ static void lts_aga_fm2_kehb1_p6_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14679,12 +15646,12 @@ static void lts_aga_fm2_kehb1_p6_ilores_dhires(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -14715,12 +15682,12 @@ static void lts_aga_fm2_kehb1_p6_ilores_dhires(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -14751,6 +15718,8 @@ static void lts_aga_fm2_kehb1_p6_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14761,6 +15730,9 @@ static void lts_aga_fm2_kehb1_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14779,6 +15751,7 @@ static void lts_aga_fm2_n0_p8_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14797,7 +15770,7 @@ static void lts_aga_fm2_n0_p8_ilores_dhires(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -14821,7 +15794,7 @@ static void lts_aga_fm2_n0_p8_ilores_dhires(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -14852,6 +15825,8 @@ static void lts_aga_fm2_n0_p8_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14862,6 +15837,9 @@ static void lts_aga_fm2_n0_p8_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14880,6 +15858,7 @@ static void lts_aga_fm2_n1_p8_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -14904,12 +15883,12 @@ static void lts_aga_fm2_n1_p8_ilores_dhires(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -14939,12 +15918,12 @@ static void lts_aga_fm2_n1_p8_ilores_dhires(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -14975,6 +15954,8 @@ static void lts_aga_fm2_n1_p8_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14985,6 +15966,9 @@ static void lts_aga_fm2_n1_p8_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15003,6 +15987,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -15026,7 +16011,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -15055,7 +16040,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -15086,6 +16071,8 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15096,6 +16083,9 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15114,6 +16104,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -15143,12 +16134,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -15183,12 +16174,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -15219,6 +16210,8 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15229,6 +16222,9 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15263,6 +16259,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -15281,7 +16278,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -15305,7 +16302,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -15336,6 +16333,8 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15346,6 +16345,9 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15364,6 +16366,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -15388,12 +16391,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -15423,12 +16426,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -15459,6 +16462,8 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15469,6 +16474,9 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15503,6 +16511,7 @@ static void lts_aga_fm2_n0_p2_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15522,7 +16531,7 @@ static void lts_aga_fm2_n0_p2_ilores_dhires_spr(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -15555,7 +16564,7 @@ static void lts_aga_fm2_n0_p2_ilores_dhires_spr(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -15606,6 +16615,8 @@ static void lts_aga_fm2_n0_p2_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15616,6 +16627,9 @@ static void lts_aga_fm2_n0_p2_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15634,6 +16648,7 @@ static void lts_aga_fm2_n1_p2_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15659,12 +16674,12 @@ static void lts_aga_fm2_n1_p2_ilores_dhires_spr(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -15703,12 +16718,12 @@ static void lts_aga_fm2_n1_p2_ilores_dhires_spr(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -15759,6 +16774,8 @@ static void lts_aga_fm2_n1_p2_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15769,6 +16786,9 @@ static void lts_aga_fm2_n1_p2_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15787,6 +16807,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15811,7 +16832,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dhires_spr(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -15849,7 +16870,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dhires_spr(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -15900,6 +16921,8 @@ static void lts_aga_fm2_dpf0_p2_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15910,6 +16933,9 @@ static void lts_aga_fm2_dpf0_p2_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15928,6 +16954,7 @@ static void lts_aga_fm2_dpf1_p2_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15958,12 +16985,12 @@ static void lts_aga_fm2_dpf1_p2_ilores_dhires_spr(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -16007,12 +17034,12 @@ static void lts_aga_fm2_dpf1_p2_ilores_dhires_spr(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -16063,6 +17090,8 @@ static void lts_aga_fm2_dpf1_p2_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16073,6 +17102,9 @@ static void lts_aga_fm2_dpf1_p2_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16139,6 +17171,7 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16158,7 +17191,7 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_spr(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -16191,7 +17224,7 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_spr(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -16242,6 +17275,8 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16252,6 +17287,9 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16270,6 +17308,7 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16295,12 +17334,12 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_spr(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -16339,12 +17378,12 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_spr(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -16395,6 +17434,8 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16405,6 +17446,9 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16423,6 +17467,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16447,7 +17492,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_spr(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -16485,7 +17530,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_spr(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -16536,6 +17581,8 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16546,6 +17593,9 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16564,6 +17614,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16594,12 +17645,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_spr(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -16643,12 +17694,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_spr(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -16699,6 +17750,8 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16709,6 +17762,9 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16775,6 +17831,7 @@ static void lts_aga_fm2_n0_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16794,7 +17851,7 @@ static void lts_aga_fm2_n0_p6_ilores_dhires_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -16827,7 +17884,7 @@ static void lts_aga_fm2_n0_p6_ilores_dhires_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -16878,6 +17935,8 @@ static void lts_aga_fm2_n0_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16888,6 +17947,9 @@ static void lts_aga_fm2_n0_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16906,6 +17968,7 @@ static void lts_aga_fm2_n1_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16931,12 +17994,12 @@ static void lts_aga_fm2_n1_p6_ilores_dhires_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -16975,12 +18038,12 @@ static void lts_aga_fm2_n1_p6_ilores_dhires_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -17031,6 +18094,8 @@ static void lts_aga_fm2_n1_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17041,6 +18106,9 @@ static void lts_aga_fm2_n1_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17059,6 +18127,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17083,7 +18152,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dhires_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -17121,7 +18190,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dhires_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -17172,6 +18241,8 @@ static void lts_aga_fm2_dpf0_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17182,6 +18253,9 @@ static void lts_aga_fm2_dpf0_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17200,6 +18274,7 @@ static void lts_aga_fm2_dpf1_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17230,12 +18305,12 @@ static void lts_aga_fm2_dpf1_p6_ilores_dhires_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -17279,12 +18354,12 @@ static void lts_aga_fm2_dpf1_p6_ilores_dhires_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -17335,6 +18410,8 @@ static void lts_aga_fm2_dpf1_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17345,6 +18422,9 @@ static void lts_aga_fm2_dpf1_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17363,6 +18443,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17388,7 +18469,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dhires_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -17427,7 +18508,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dhires_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -17478,6 +18559,8 @@ static void lts_aga_fm2_ehb0_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17488,6 +18571,9 @@ static void lts_aga_fm2_ehb0_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17506,6 +18592,7 @@ static void lts_aga_fm2_ehb1_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17537,12 +18624,12 @@ static void lts_aga_fm2_ehb1_p6_ilores_dhires_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -17587,12 +18674,12 @@ static void lts_aga_fm2_ehb1_p6_ilores_dhires_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -17643,6 +18730,8 @@ static void lts_aga_fm2_ehb1_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17653,6 +18742,9 @@ static void lts_aga_fm2_ehb1_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17671,6 +18763,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17690,7 +18783,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dhires_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -17723,7 +18816,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dhires_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -17774,6 +18867,8 @@ static void lts_aga_fm2_ham0_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17784,6 +18879,9 @@ static void lts_aga_fm2_ham0_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17802,6 +18900,7 @@ static void lts_aga_fm2_ham1_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17827,12 +18926,12 @@ static void lts_aga_fm2_ham1_p6_ilores_dhires_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -17871,12 +18970,12 @@ static void lts_aga_fm2_ham1_p6_ilores_dhires_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -17927,6 +19026,8 @@ static void lts_aga_fm2_ham1_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17937,6 +19038,9 @@ static void lts_aga_fm2_ham1_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17955,6 +19059,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17975,7 +19080,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dhires_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -18009,7 +19114,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dhires_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -18060,6 +19165,8 @@ static void lts_aga_fm2_kehb0_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18070,6 +19177,9 @@ static void lts_aga_fm2_kehb0_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18088,6 +19198,7 @@ static void lts_aga_fm2_kehb1_p6_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18114,12 +19225,12 @@ static void lts_aga_fm2_kehb1_p6_ilores_dhires_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -18159,12 +19270,12 @@ static void lts_aga_fm2_kehb1_p6_ilores_dhires_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -18215,6 +19326,8 @@ static void lts_aga_fm2_kehb1_p6_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18225,6 +19338,9 @@ static void lts_aga_fm2_kehb1_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18243,6 +19359,7 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18262,7 +19379,7 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -18295,7 +19412,7 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -18346,6 +19463,8 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18356,6 +19475,9 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18374,6 +19496,7 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18399,12 +19522,12 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -18443,12 +19566,12 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -18499,6 +19622,8 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18509,6 +19634,9 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18527,6 +19655,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18551,7 +19680,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -18589,7 +19718,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -18640,6 +19769,8 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18650,6 +19781,9 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18668,6 +19802,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18698,12 +19833,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -18747,12 +19882,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -18803,6 +19938,8 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18813,6 +19950,9 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18847,6 +19987,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -18866,7 +20007,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -18899,7 +20040,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -18950,6 +20091,8 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18960,6 +20103,9 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18978,6 +20124,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -19003,12 +20150,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -19047,12 +20194,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -19103,6 +20250,8 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19113,6 +20262,9 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19147,6 +20299,7 @@ static void lts_aga_fm2_n0_p2_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19160,7 +20313,7 @@ static void lts_aga_fm2_n0_p2_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -19178,7 +20331,7 @@ static void lts_aga_fm2_n0_p2_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -19208,6 +20361,8 @@ static void lts_aga_fm2_n0_p2_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19218,6 +20373,9 @@ static void lts_aga_fm2_n0_p2_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19236,6 +20394,7 @@ static void lts_aga_fm2_n1_p2_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19249,10 +20408,10 @@ static void lts_aga_fm2_n1_p2_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -19270,10 +20429,10 @@ static void lts_aga_fm2_n1_p2_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -19303,6 +20462,8 @@ static void lts_aga_fm2_n1_p2_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19313,6 +20474,9 @@ static void lts_aga_fm2_n1_p2_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19331,6 +20495,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19349,7 +20514,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -19372,7 +20537,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -19402,6 +20567,8 @@ static void lts_aga_fm2_dpf0_p2_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19412,6 +20579,9 @@ static void lts_aga_fm2_dpf0_p2_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19430,6 +20600,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19448,10 +20619,10 @@ static void lts_aga_fm2_dpf1_p2_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -19474,10 +20645,10 @@ static void lts_aga_fm2_dpf1_p2_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -19507,6 +20678,8 @@ static void lts_aga_fm2_dpf1_p2_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19517,6 +20690,9 @@ static void lts_aga_fm2_dpf1_p2_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19583,6 +20759,7 @@ static void lts_aga_fm2_n0_p4_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19596,7 +20773,7 @@ static void lts_aga_fm2_n0_p4_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -19614,7 +20791,7 @@ static void lts_aga_fm2_n0_p4_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -19644,6 +20821,8 @@ static void lts_aga_fm2_n0_p4_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19654,6 +20833,9 @@ static void lts_aga_fm2_n0_p4_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19672,6 +20854,7 @@ static void lts_aga_fm2_n1_p4_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19685,10 +20868,10 @@ static void lts_aga_fm2_n1_p4_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -19706,10 +20889,10 @@ static void lts_aga_fm2_n1_p4_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -19739,6 +20922,8 @@ static void lts_aga_fm2_n1_p4_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19749,6 +20934,9 @@ static void lts_aga_fm2_n1_p4_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19767,6 +20955,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19785,7 +20974,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -19808,7 +20997,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -19838,6 +21027,8 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19848,6 +21039,9 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19866,6 +21060,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -19884,10 +21079,10 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -19910,10 +21105,10 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -19943,6 +21138,8 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19953,6 +21150,9 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20019,6 +21219,7 @@ static void lts_aga_fm2_n0_p6_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20032,7 +21233,7 @@ static void lts_aga_fm2_n0_p6_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -20050,7 +21251,7 @@ static void lts_aga_fm2_n0_p6_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -20080,6 +21281,8 @@ static void lts_aga_fm2_n0_p6_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20090,6 +21293,9 @@ static void lts_aga_fm2_n0_p6_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20108,6 +21314,7 @@ static void lts_aga_fm2_n1_p6_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20121,10 +21328,10 @@ static void lts_aga_fm2_n1_p6_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -20142,10 +21349,10 @@ static void lts_aga_fm2_n1_p6_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -20175,6 +21382,8 @@ static void lts_aga_fm2_n1_p6_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20185,6 +21394,9 @@ static void lts_aga_fm2_n1_p6_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20203,6 +21415,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20221,7 +21434,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -20244,7 +21457,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -20274,6 +21487,8 @@ static void lts_aga_fm2_dpf0_p6_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20284,6 +21499,9 @@ static void lts_aga_fm2_dpf0_p6_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20302,6 +21520,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20320,10 +21539,10 @@ static void lts_aga_fm2_dpf1_p6_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -20346,10 +21565,10 @@ static void lts_aga_fm2_dpf1_p6_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -20379,6 +21598,8 @@ static void lts_aga_fm2_dpf1_p6_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20389,6 +21610,9 @@ static void lts_aga_fm2_dpf1_p6_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20407,6 +21631,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20426,7 +21651,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -20450,7 +21675,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -20480,6 +21705,8 @@ static void lts_aga_fm2_ehb0_p6_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20490,6 +21717,9 @@ static void lts_aga_fm2_ehb0_p6_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20508,6 +21738,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20527,10 +21758,10 @@ static void lts_aga_fm2_ehb1_p6_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -20554,10 +21785,10 @@ static void lts_aga_fm2_ehb1_p6_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -20587,6 +21818,8 @@ static void lts_aga_fm2_ehb1_p6_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20597,6 +21830,9 @@ static void lts_aga_fm2_ehb1_p6_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20615,6 +21851,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20628,7 +21865,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -20646,7 +21883,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -20676,6 +21913,8 @@ static void lts_aga_fm2_ham0_p6_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20686,6 +21925,9 @@ static void lts_aga_fm2_ham0_p6_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20704,6 +21946,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20717,10 +21960,10 @@ static void lts_aga_fm2_ham1_p6_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -20738,10 +21981,10 @@ static void lts_aga_fm2_ham1_p6_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -20771,6 +22014,8 @@ static void lts_aga_fm2_ham1_p6_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20781,6 +22026,9 @@ static void lts_aga_fm2_ham1_p6_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20799,6 +22047,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20813,7 +22062,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -20832,7 +22081,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -20862,6 +22111,8 @@ static void lts_aga_fm2_kehb0_p6_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20872,6 +22123,9 @@ static void lts_aga_fm2_kehb0_p6_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20890,6 +22144,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -20904,10 +22159,10 @@ static void lts_aga_fm2_kehb1_p6_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -20926,10 +22181,10 @@ static void lts_aga_fm2_kehb1_p6_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -20959,6 +22214,8 @@ static void lts_aga_fm2_kehb1_p6_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20969,6 +22226,9 @@ static void lts_aga_fm2_kehb1_p6_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20987,6 +22247,7 @@ static void lts_aga_fm2_n0_p8_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -21000,7 +22261,7 @@ static void lts_aga_fm2_n0_p8_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -21018,7 +22279,7 @@ static void lts_aga_fm2_n0_p8_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -21048,6 +22309,8 @@ static void lts_aga_fm2_n0_p8_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21058,6 +22321,9 @@ static void lts_aga_fm2_n0_p8_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21076,6 +22342,7 @@ static void lts_aga_fm2_n1_p8_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -21089,10 +22356,10 @@ static void lts_aga_fm2_n1_p8_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -21110,10 +22377,10 @@ static void lts_aga_fm2_n1_p8_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -21143,6 +22410,8 @@ static void lts_aga_fm2_n1_p8_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21153,6 +22422,9 @@ static void lts_aga_fm2_n1_p8_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21171,6 +22443,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -21189,7 +22462,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -21212,7 +22485,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -21242,6 +22515,8 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21252,6 +22527,9 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21270,6 +22548,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -21288,10 +22567,10 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -21314,10 +22593,10 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -21347,6 +22626,8 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21357,6 +22638,9 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21391,6 +22675,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -21404,7 +22689,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -21422,7 +22707,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -21452,6 +22737,8 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21462,6 +22749,9 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21480,6 +22770,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -21493,10 +22784,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -21514,10 +22805,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -21547,6 +22838,8 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21557,6 +22850,9 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21591,6 +22887,7 @@ static void lts_aga_fm2_n0_p2_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -21605,7 +22902,7 @@ static void lts_aga_fm2_n0_p2_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -21632,7 +22929,7 @@ static void lts_aga_fm2_n0_p2_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -21682,6 +22979,8 @@ static void lts_aga_fm2_n0_p2_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21692,6 +22991,9 @@ static void lts_aga_fm2_n0_p2_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21710,6 +23012,7 @@ static void lts_aga_fm2_n1_p2_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -21724,10 +23027,10 @@ static void lts_aga_fm2_n1_p2_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -21754,10 +23057,10 @@ static void lts_aga_fm2_n1_p2_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -21807,6 +23110,8 @@ static void lts_aga_fm2_n1_p2_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21817,6 +23122,9 @@ static void lts_aga_fm2_n1_p2_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21835,6 +23143,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -21854,7 +23163,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -21886,7 +23195,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -21936,6 +23245,8 @@ static void lts_aga_fm2_dpf0_p2_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21946,6 +23257,9 @@ static void lts_aga_fm2_dpf0_p2_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21964,6 +23278,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -21983,10 +23298,10 @@ static void lts_aga_fm2_dpf1_p2_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -22018,10 +23333,10 @@ static void lts_aga_fm2_dpf1_p2_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -22071,6 +23386,8 @@ static void lts_aga_fm2_dpf1_p2_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22081,6 +23398,9 @@ static void lts_aga_fm2_dpf1_p2_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22147,6 +23467,7 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -22161,7 +23482,7 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -22188,7 +23509,7 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -22238,6 +23559,8 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22248,6 +23571,9 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22266,6 +23592,7 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -22280,10 +23607,10 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -22310,10 +23637,10 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -22363,6 +23690,8 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22373,6 +23702,9 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22391,6 +23723,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -22410,7 +23743,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -22442,7 +23775,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -22492,6 +23825,8 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22502,6 +23837,9 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22520,6 +23858,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -22539,10 +23878,10 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -22574,10 +23913,10 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -22627,6 +23966,8 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22637,6 +23978,9 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22703,6 +24047,7 @@ static void lts_aga_fm2_n0_p6_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -22717,7 +24062,7 @@ static void lts_aga_fm2_n0_p6_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -22744,7 +24089,7 @@ static void lts_aga_fm2_n0_p6_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -22794,6 +24139,8 @@ static void lts_aga_fm2_n0_p6_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22804,6 +24151,9 @@ static void lts_aga_fm2_n0_p6_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22822,6 +24172,7 @@ static void lts_aga_fm2_n1_p6_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -22836,10 +24187,10 @@ static void lts_aga_fm2_n1_p6_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -22866,10 +24217,10 @@ static void lts_aga_fm2_n1_p6_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -22919,6 +24270,8 @@ static void lts_aga_fm2_n1_p6_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22929,6 +24282,9 @@ static void lts_aga_fm2_n1_p6_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22947,6 +24303,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -22966,7 +24323,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -22998,7 +24355,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -23048,6 +24405,8 @@ static void lts_aga_fm2_dpf0_p6_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23058,6 +24417,9 @@ static void lts_aga_fm2_dpf0_p6_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23076,6 +24438,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23095,10 +24458,10 @@ static void lts_aga_fm2_dpf1_p6_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -23130,10 +24493,10 @@ static void lts_aga_fm2_dpf1_p6_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -23183,6 +24546,8 @@ static void lts_aga_fm2_dpf1_p6_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23193,6 +24558,9 @@ static void lts_aga_fm2_dpf1_p6_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23211,6 +24579,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23231,7 +24600,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -23264,7 +24633,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -23314,6 +24683,8 @@ static void lts_aga_fm2_ehb0_p6_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23324,6 +24695,9 @@ static void lts_aga_fm2_ehb0_p6_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23342,6 +24716,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23362,10 +24737,10 @@ static void lts_aga_fm2_ehb1_p6_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -23398,10 +24773,10 @@ static void lts_aga_fm2_ehb1_p6_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -23451,6 +24826,8 @@ static void lts_aga_fm2_ehb1_p6_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23461,6 +24838,9 @@ static void lts_aga_fm2_ehb1_p6_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23479,6 +24859,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23493,7 +24874,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -23520,7 +24901,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -23570,6 +24951,8 @@ static void lts_aga_fm2_ham0_p6_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23580,6 +24963,9 @@ static void lts_aga_fm2_ham0_p6_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23598,6 +24984,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23612,10 +24999,10 @@ static void lts_aga_fm2_ham1_p6_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -23642,10 +25029,10 @@ static void lts_aga_fm2_ham1_p6_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -23695,6 +25082,8 @@ static void lts_aga_fm2_ham1_p6_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23705,6 +25094,9 @@ static void lts_aga_fm2_ham1_p6_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23723,6 +25115,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23738,7 +25131,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -23766,7 +25159,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -23816,6 +25209,8 @@ static void lts_aga_fm2_kehb0_p6_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23826,6 +25221,9 @@ static void lts_aga_fm2_kehb0_p6_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23844,6 +25242,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23859,10 +25258,10 @@ static void lts_aga_fm2_kehb1_p6_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -23890,10 +25289,10 @@ static void lts_aga_fm2_kehb1_p6_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -23943,6 +25342,8 @@ static void lts_aga_fm2_kehb1_p6_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23953,6 +25354,9 @@ static void lts_aga_fm2_kehb1_p6_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23971,6 +25375,7 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -23985,7 +25390,7 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -24012,7 +25417,7 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -24062,6 +25467,8 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24072,6 +25479,9 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24090,6 +25500,7 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -24104,10 +25515,10 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -24134,10 +25545,10 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -24187,6 +25598,8 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24197,6 +25610,9 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24215,6 +25631,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -24234,7 +25651,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -24266,7 +25683,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -24316,6 +25733,8 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24326,6 +25745,9 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24344,6 +25766,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -24363,10 +25786,10 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -24398,10 +25821,10 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -24451,6 +25874,8 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24461,6 +25886,9 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24495,6 +25923,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -24509,7 +25938,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -24536,7 +25965,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -24586,6 +26015,8 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24596,6 +26027,9 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24614,6 +26048,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -24628,10 +26063,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -24658,10 +26093,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -24711,6 +26146,8 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24721,6 +26158,9 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24755,6 +26195,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -24768,7 +26209,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -24787,7 +26228,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -24818,6 +26259,8 @@ static void lts_aga_fm2_n0_p2_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24828,6 +26271,9 @@ static void lts_aga_fm2_n0_p2_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24842,6 +26288,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -24855,7 +26302,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -24872,7 +26319,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -24890,7 +26337,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -24907,7 +26354,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -24939,6 +26386,8 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24949,6 +26398,9 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24963,6 +26415,7 @@ static void lts_aga_fm2_n1_p2_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -24976,10 +26429,10 @@ static void lts_aga_fm2_n1_p2_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -24998,10 +26451,10 @@ static void lts_aga_fm2_n1_p2_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -25032,6 +26485,8 @@ static void lts_aga_fm2_n1_p2_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25042,6 +26497,9 @@ static void lts_aga_fm2_n1_p2_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25056,6 +26514,7 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -25069,10 +26528,10 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -25089,10 +26548,10 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -25110,10 +26569,10 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -25130,10 +26589,10 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -25165,6 +26624,8 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25175,6 +26636,9 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25189,6 +26653,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -25207,7 +26672,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -25231,7 +26696,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -25262,6 +26727,8 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25272,6 +26739,9 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25286,6 +26756,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -25304,7 +26775,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -25326,7 +26797,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -25349,7 +26820,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -25371,7 +26842,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -25403,6 +26874,8 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25413,6 +26886,9 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25427,6 +26903,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -25445,10 +26922,10 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -25472,10 +26949,10 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -25506,6 +26983,8 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25516,6 +26995,9 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25530,6 +27012,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -25548,10 +27031,10 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -25573,10 +27056,10 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -25599,10 +27082,10 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -25624,10 +27107,10 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -25659,6 +27142,8 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25669,6 +27154,9 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25731,6 +27219,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -25744,7 +27233,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -25763,7 +27252,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -25794,6 +27283,8 @@ static void lts_aga_fm2_n0_p4_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25804,6 +27295,9 @@ static void lts_aga_fm2_n0_p4_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25818,6 +27312,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -25831,7 +27326,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -25848,7 +27343,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -25866,7 +27361,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -25883,7 +27378,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -25915,6 +27410,8 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25925,6 +27422,9 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25939,6 +27439,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -25952,10 +27453,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -25974,10 +27475,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -26008,6 +27509,8 @@ static void lts_aga_fm2_n1_p4_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26018,6 +27521,9 @@ static void lts_aga_fm2_n1_p4_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26032,6 +27538,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -26045,10 +27552,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -26065,10 +27572,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -26086,10 +27593,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -26106,10 +27613,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -26141,6 +27648,8 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26151,6 +27660,9 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26165,6 +27677,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -26183,7 +27696,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -26207,7 +27720,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -26238,6 +27751,8 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26248,6 +27763,9 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26262,6 +27780,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -26280,7 +27799,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -26302,7 +27821,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -26325,7 +27844,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -26347,7 +27866,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -26379,6 +27898,8 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26389,6 +27910,9 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26403,6 +27927,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -26421,10 +27946,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -26448,10 +27973,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -26482,6 +28007,8 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26492,6 +28019,9 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26506,6 +28036,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -26524,10 +28055,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -26549,10 +28080,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -26575,10 +28106,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -26600,10 +28131,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -26635,6 +28166,8 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26645,6 +28178,9 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26707,6 +28243,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -26720,7 +28257,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -26739,7 +28276,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -26770,6 +28307,8 @@ static void lts_aga_fm2_n0_p6_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26780,6 +28319,9 @@ static void lts_aga_fm2_n0_p6_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26794,6 +28336,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -26807,7 +28350,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -26824,7 +28367,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -26842,7 +28385,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -26859,7 +28402,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -26891,6 +28434,8 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26901,6 +28446,9 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26915,6 +28463,7 @@ static void lts_aga_fm2_n1_p6_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -26928,10 +28477,10 @@ static void lts_aga_fm2_n1_p6_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -26950,10 +28499,10 @@ static void lts_aga_fm2_n1_p6_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -26984,6 +28533,8 @@ static void lts_aga_fm2_n1_p6_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26994,6 +28545,9 @@ static void lts_aga_fm2_n1_p6_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27008,6 +28562,7 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -27021,10 +28576,10 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -27041,10 +28596,10 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -27062,10 +28617,10 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -27082,10 +28637,10 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -27117,6 +28672,8 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27127,6 +28684,9 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27141,6 +28701,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -27159,7 +28720,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -27183,7 +28744,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -27214,6 +28775,8 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27224,6 +28787,9 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27238,6 +28804,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -27256,7 +28823,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -27278,7 +28845,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -27301,7 +28868,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -27323,7 +28890,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -27355,6 +28922,8 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27365,6 +28934,9 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27379,6 +28951,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -27397,10 +28970,10 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -27424,10 +28997,10 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -27458,6 +29031,8 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27468,6 +29043,9 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27482,6 +29060,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -27500,10 +29079,10 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -27525,10 +29104,10 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -27551,10 +29130,10 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -27576,10 +29155,10 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -27611,6 +29190,8 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27621,6 +29202,9 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27635,6 +29219,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -27654,7 +29239,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -27679,7 +29264,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -27710,6 +29295,8 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27720,6 +29307,9 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27734,6 +29324,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -27753,7 +29344,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -27776,7 +29367,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -27800,7 +29391,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -27823,7 +29414,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -27855,6 +29446,8 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27865,6 +29458,9 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27879,6 +29475,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -27898,10 +29495,10 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -27926,10 +29523,10 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -27960,6 +29557,8 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27970,6 +29569,9 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27984,6 +29586,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -28003,10 +29606,10 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -28029,10 +29632,10 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -28056,10 +29659,10 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -28082,10 +29685,10 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -28117,6 +29720,8 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28127,6 +29732,9 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28141,6 +29749,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -28154,7 +29763,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -28170,7 +29779,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -28188,7 +29797,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -28204,7 +29813,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -28234,6 +29843,8 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28244,6 +29855,9 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28258,6 +29872,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -28271,7 +29886,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -28288,7 +29903,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -28306,7 +29921,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -28323,7 +29938,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -28355,6 +29970,8 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28365,6 +29982,9 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28379,6 +29999,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -28392,10 +30013,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -28411,10 +30032,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -28432,10 +30053,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -28451,10 +30072,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -28484,6 +30105,8 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28494,6 +30117,9 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28508,6 +30134,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -28521,10 +30148,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -28541,10 +30168,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -28562,10 +30189,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -28582,10 +30209,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -28617,6 +30244,8 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28627,6 +30256,9 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28641,6 +30273,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -28655,7 +30288,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -28675,7 +30308,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -28706,6 +30339,8 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28716,6 +30351,9 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28730,6 +30368,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -28744,7 +30383,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -28762,7 +30401,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -28781,7 +30420,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -28799,7 +30438,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -28831,6 +30470,8 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28841,6 +30482,9 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28855,6 +30499,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -28869,10 +30514,10 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -28892,10 +30537,10 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -28926,6 +30571,8 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28936,6 +30583,9 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28950,6 +30600,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -28964,10 +30615,10 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -28985,10 +30636,10 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -29007,10 +30658,10 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -29028,10 +30679,10 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -29063,6 +30714,8 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29073,6 +30726,9 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -29087,6 +30743,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -29100,7 +30757,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -29119,7 +30776,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -29150,6 +30807,8 @@ static void lts_aga_fm2_n0_p8_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29160,6 +30819,9 @@ static void lts_aga_fm2_n0_p8_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -29174,6 +30836,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -29187,7 +30850,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -29204,7 +30867,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -29222,7 +30885,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -29239,7 +30902,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -29271,6 +30934,8 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29281,6 +30946,9 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -29295,6 +30963,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -29308,10 +30977,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29330,10 +30999,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29364,6 +31033,8 @@ static void lts_aga_fm2_n1_p8_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29374,6 +31045,9 @@ static void lts_aga_fm2_n1_p8_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -29388,6 +31062,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -29401,10 +31076,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29421,10 +31096,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29442,10 +31117,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29462,10 +31137,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29497,6 +31172,8 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29507,6 +31184,9 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -29521,6 +31201,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -29539,7 +31220,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -29563,7 +31244,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -29594,6 +31275,8 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29604,6 +31287,9 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -29618,6 +31304,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -29636,7 +31323,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -29658,7 +31345,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -29681,7 +31368,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -29703,7 +31390,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -29735,6 +31422,8 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29745,6 +31434,9 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -29759,6 +31451,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -29777,10 +31470,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29804,10 +31497,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29838,6 +31531,8 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29848,6 +31543,9 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -29862,6 +31560,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -29880,10 +31579,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29905,10 +31604,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29931,10 +31630,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29956,10 +31655,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29991,6 +31690,8 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30001,6 +31702,9 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30031,6 +31735,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -30044,7 +31749,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -30060,7 +31765,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -30078,7 +31783,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -30094,7 +31799,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -30124,6 +31829,8 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30134,6 +31841,9 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30148,6 +31858,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -30161,7 +31872,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -30178,7 +31889,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -30196,7 +31907,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -30213,7 +31924,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -30245,6 +31956,8 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30255,6 +31968,9 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30269,6 +31985,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -30282,10 +31999,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -30301,10 +32018,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -30322,10 +32039,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -30341,10 +32058,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -30374,6 +32091,8 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30384,6 +32103,9 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30398,6 +32120,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -30411,10 +32134,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -30431,10 +32154,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -30452,10 +32175,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -30472,10 +32195,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -30507,6 +32230,8 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30517,6 +32242,9 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30547,6 +32275,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -30561,7 +32290,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -30589,7 +32318,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -30640,6 +32369,8 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30650,6 +32381,9 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30664,6 +32398,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -30678,7 +32413,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -30703,7 +32438,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -30722,7 +32457,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -30747,7 +32482,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -30793,6 +32528,8 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30803,6 +32540,9 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30817,6 +32557,7 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -30831,10 +32572,10 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -30862,10 +32603,10 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -30916,6 +32657,8 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30926,6 +32669,9 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30940,6 +32686,7 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -30954,10 +32701,10 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -30982,10 +32729,10 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -31004,10 +32751,10 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -31032,10 +32779,10 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -31081,6 +32828,8 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -31091,6 +32840,9 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -31105,6 +32857,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -31124,7 +32877,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -31157,7 +32910,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -31208,6 +32961,8 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -31218,6 +32973,9 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -31232,6 +32990,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -31251,7 +33010,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -31281,7 +33040,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -31305,7 +33064,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -31335,7 +33094,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -31381,6 +33140,8 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -31391,6 +33152,9 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -31405,6 +33169,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -31424,10 +33189,10 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -31460,10 +33225,10 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -31514,6 +33279,8 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -31524,6 +33291,9 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -31538,6 +33308,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -31557,10 +33328,10 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -31590,10 +33361,10 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -31617,10 +33388,10 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -31650,10 +33421,10 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -31699,6 +33470,8 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -31709,6 +33482,9 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -31771,6 +33547,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -31785,7 +33562,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -31813,7 +33590,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -31864,6 +33641,8 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -31874,6 +33653,9 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -31888,6 +33670,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -31902,7 +33685,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -31927,7 +33710,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -31946,7 +33729,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -31971,7 +33754,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -32017,6 +33800,8 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -32027,6 +33812,9 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -32041,6 +33829,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -32055,10 +33844,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -32086,10 +33875,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -32140,6 +33929,8 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -32150,6 +33941,9 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -32164,6 +33958,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -32178,10 +33973,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -32206,10 +34001,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -32228,10 +34023,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -32256,10 +34051,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -32305,6 +34100,8 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -32315,6 +34112,9 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -32329,6 +34129,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -32348,7 +34149,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -32381,7 +34182,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -32432,6 +34233,8 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -32442,6 +34245,9 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -32456,6 +34262,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -32475,7 +34282,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -32505,7 +34312,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -32529,7 +34336,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -32559,7 +34366,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -32605,6 +34412,8 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -32615,6 +34424,9 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -32629,6 +34441,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -32648,10 +34461,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -32684,10 +34497,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -32738,6 +34551,8 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -32748,6 +34563,9 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -32762,6 +34580,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -32781,10 +34600,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -32814,10 +34633,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -32841,10 +34660,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -32874,10 +34693,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -32923,6 +34742,8 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -32933,6 +34754,9 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -32995,6 +34819,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -33009,7 +34834,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -33037,7 +34862,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -33088,6 +34913,8 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -33098,6 +34925,9 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -33112,6 +34942,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -33126,7 +34957,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -33151,7 +34982,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -33170,7 +35001,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -33195,7 +35026,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -33241,6 +35072,8 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -33251,6 +35084,9 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -33265,6 +35101,7 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -33279,10 +35116,10 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -33310,10 +35147,10 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -33364,6 +35201,8 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -33374,6 +35213,9 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -33388,6 +35230,7 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -33402,10 +35245,10 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -33430,10 +35273,10 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -33452,10 +35295,10 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -33480,10 +35323,10 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -33529,6 +35372,8 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -33539,6 +35384,9 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -33553,6 +35401,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -33572,7 +35421,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -33605,7 +35454,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -33656,6 +35505,8 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -33666,6 +35517,9 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -33680,6 +35534,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -33699,7 +35554,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -33729,7 +35584,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -33753,7 +35608,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -33783,7 +35638,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -33829,6 +35684,8 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -33839,6 +35696,9 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -33853,6 +35713,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -33872,10 +35733,10 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -33908,10 +35769,10 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -33962,6 +35823,8 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -33972,6 +35835,9 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -33986,6 +35852,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -34005,10 +35872,10 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -34038,10 +35905,10 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -34065,10 +35932,10 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -34098,10 +35965,10 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -34147,6 +36014,8 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -34157,6 +36026,9 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -34171,6 +36043,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -34191,7 +36064,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -34225,7 +36098,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -34276,6 +36149,8 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -34286,6 +36161,9 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -34300,6 +36178,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -34320,7 +36199,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -34351,7 +36230,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -34376,7 +36255,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -34407,7 +36286,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -34453,6 +36332,8 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -34463,6 +36344,9 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -34477,6 +36361,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -34497,10 +36382,10 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -34534,10 +36419,10 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -34588,6 +36473,8 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -34598,6 +36485,9 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -34612,6 +36502,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -34632,10 +36523,10 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -34666,10 +36557,10 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -34694,10 +36585,10 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -34728,10 +36619,10 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -34777,6 +36668,8 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -34787,6 +36680,9 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -34801,6 +36697,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -34815,7 +36712,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -34839,7 +36736,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -34858,7 +36755,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -34882,7 +36779,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -34924,6 +36821,8 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -34934,6 +36833,9 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -34948,6 +36850,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -34962,7 +36865,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -34987,7 +36890,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -35006,7 +36909,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -35031,7 +36934,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -35077,6 +36980,8 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -35087,6 +36992,9 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -35101,6 +37009,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -35115,10 +37024,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -35142,10 +37051,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -35164,10 +37073,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -35191,10 +37100,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -35236,6 +37145,8 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -35246,6 +37157,9 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -35260,6 +37174,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -35274,10 +37189,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -35302,10 +37217,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -35324,10 +37239,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -35352,10 +37267,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -35401,6 +37316,8 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -35411,6 +37328,9 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -35425,6 +37345,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -35440,7 +37361,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -35469,7 +37390,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -35520,6 +37441,8 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -35530,6 +37453,9 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -35544,6 +37470,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -35559,7 +37486,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -35585,7 +37512,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -35605,7 +37532,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -35631,7 +37558,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -35677,6 +37604,8 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -35687,6 +37616,9 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -35701,6 +37633,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -35716,10 +37649,10 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -35748,10 +37681,10 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -35802,6 +37735,8 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -35812,6 +37747,9 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -35826,6 +37764,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -35841,10 +37780,10 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -35870,10 +37809,10 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -35893,10 +37832,10 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -35922,10 +37861,10 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -35971,6 +37910,8 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -35981,6 +37922,9 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -35995,6 +37939,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -36009,7 +37954,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -36037,7 +37982,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -36088,6 +38033,8 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -36098,6 +38045,9 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -36112,6 +38062,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -36126,7 +38077,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -36151,7 +38102,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -36170,7 +38121,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -36195,7 +38146,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -36241,6 +38192,8 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -36251,6 +38204,9 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -36265,6 +38221,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -36279,10 +38236,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -36310,10 +38267,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -36364,6 +38321,8 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -36374,6 +38333,9 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -36388,6 +38350,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -36402,10 +38365,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -36430,10 +38393,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -36452,10 +38415,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -36480,10 +38443,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -36529,6 +38492,8 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -36539,6 +38504,9 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -36553,6 +38521,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -36572,7 +38541,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -36605,7 +38574,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -36656,6 +38625,8 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -36666,6 +38637,9 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -36680,6 +38654,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -36699,7 +38674,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -36729,7 +38704,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -36753,7 +38728,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -36783,7 +38758,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -36829,6 +38804,8 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -36839,6 +38816,9 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -36853,6 +38833,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -36872,10 +38853,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -36908,10 +38889,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -36962,6 +38943,8 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -36972,6 +38955,9 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -36986,6 +38972,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -37005,10 +38992,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -37038,10 +39025,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -37065,10 +39052,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -37098,10 +39085,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -37147,6 +39134,8 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -37157,6 +39146,9 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -37187,6 +39179,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -37201,7 +39194,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -37225,7 +39218,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -37244,7 +39237,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -37268,7 +39261,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -37310,6 +39303,8 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -37320,6 +39315,9 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -37334,6 +39332,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -37348,7 +39347,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -37373,7 +39372,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -37392,7 +39391,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -37417,7 +39416,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -37463,6 +39462,8 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -37473,6 +39474,9 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -37487,6 +39491,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -37501,10 +39506,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -37528,10 +39533,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -37550,10 +39555,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -37577,10 +39582,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -37622,6 +39627,8 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -37632,6 +39639,9 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -37646,6 +39656,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -37660,10 +39671,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -37688,10 +39699,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -37710,10 +39721,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -37738,10 +39749,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -37787,6 +39798,8 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -37797,6 +39810,9 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -37827,6 +39843,7 @@ static void lts_aga_fm2_n0_p2_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -37845,7 +39862,7 @@ static void lts_aga_fm2_n0_p2_ilores_dshres(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -37869,7 +39886,7 @@ static void lts_aga_fm2_n0_p2_ilores_dshres(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -37893,7 +39910,7 @@ static void lts_aga_fm2_n0_p2_ilores_dshres(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -37917,7 +39934,7 @@ static void lts_aga_fm2_n0_p2_ilores_dshres(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -37966,6 +39983,8 @@ static void lts_aga_fm2_n0_p2_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -37976,6 +39995,9 @@ static void lts_aga_fm2_n0_p2_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -37994,6 +40016,7 @@ static void lts_aga_fm2_n1_p2_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -38018,12 +40041,12 @@ static void lts_aga_fm2_n1_p2_ilores_dshres(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -38053,12 +40076,12 @@ static void lts_aga_fm2_n1_p2_ilores_dshres(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -38088,12 +40111,12 @@ static void lts_aga_fm2_n1_p2_ilores_dshres(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -38123,12 +40146,12 @@ static void lts_aga_fm2_n1_p2_ilores_dshres(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -38177,6 +40200,8 @@ static void lts_aga_fm2_n1_p2_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -38187,6 +40212,9 @@ static void lts_aga_fm2_n1_p2_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -38205,6 +40233,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -38228,7 +40257,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -38257,7 +40286,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -38286,7 +40315,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -38315,7 +40344,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -38364,6 +40393,8 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -38374,6 +40405,9 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -38392,6 +40426,7 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -38421,12 +40456,12 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -38461,12 +40496,12 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -38501,12 +40536,12 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -38541,12 +40576,12 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -38595,6 +40630,8 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -38605,6 +40642,9 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -38671,6 +40711,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -38689,7 +40730,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -38713,7 +40754,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -38737,7 +40778,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -38761,7 +40802,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -38810,6 +40851,8 @@ static void lts_aga_fm2_n0_p4_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -38820,6 +40863,9 @@ static void lts_aga_fm2_n0_p4_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -38838,6 +40884,7 @@ static void lts_aga_fm2_n1_p4_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -38862,12 +40909,12 @@ static void lts_aga_fm2_n1_p4_ilores_dshres(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -38897,12 +40944,12 @@ static void lts_aga_fm2_n1_p4_ilores_dshres(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -38932,12 +40979,12 @@ static void lts_aga_fm2_n1_p4_ilores_dshres(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -38967,12 +41014,12 @@ static void lts_aga_fm2_n1_p4_ilores_dshres(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -39021,6 +41068,8 @@ static void lts_aga_fm2_n1_p4_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -39031,6 +41080,9 @@ static void lts_aga_fm2_n1_p4_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -39049,6 +41101,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -39072,7 +41125,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -39101,7 +41154,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -39130,7 +41183,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -39159,7 +41212,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -39208,6 +41261,8 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -39218,6 +41273,9 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -39236,6 +41294,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -39265,12 +41324,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -39305,12 +41364,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -39345,12 +41404,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -39385,12 +41444,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -39439,6 +41498,8 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -39449,6 +41510,9 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -39515,6 +41579,7 @@ static void lts_aga_fm2_n0_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -39533,7 +41598,7 @@ static void lts_aga_fm2_n0_p6_ilores_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -39557,7 +41622,7 @@ static void lts_aga_fm2_n0_p6_ilores_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -39581,7 +41646,7 @@ static void lts_aga_fm2_n0_p6_ilores_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -39605,7 +41670,7 @@ static void lts_aga_fm2_n0_p6_ilores_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -39654,6 +41719,8 @@ static void lts_aga_fm2_n0_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -39664,6 +41731,9 @@ static void lts_aga_fm2_n0_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -39682,6 +41752,7 @@ static void lts_aga_fm2_n1_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -39706,12 +41777,12 @@ static void lts_aga_fm2_n1_p6_ilores_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -39741,12 +41812,12 @@ static void lts_aga_fm2_n1_p6_ilores_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -39776,12 +41847,12 @@ static void lts_aga_fm2_n1_p6_ilores_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -39811,12 +41882,12 @@ static void lts_aga_fm2_n1_p6_ilores_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -39865,6 +41936,8 @@ static void lts_aga_fm2_n1_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -39875,6 +41948,9 @@ static void lts_aga_fm2_n1_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -39893,6 +41969,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -39916,7 +41993,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -39945,7 +42022,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -39974,7 +42051,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -40003,7 +42080,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -40052,6 +42129,8 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -40062,6 +42141,9 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -40080,6 +42162,7 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -40109,12 +42192,12 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -40149,12 +42232,12 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -40189,12 +42272,12 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -40229,12 +42312,12 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -40283,6 +42366,8 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -40293,6 +42378,9 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -40311,6 +42399,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -40335,7 +42424,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -40365,7 +42454,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -40395,7 +42484,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -40425,7 +42514,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -40474,6 +42563,8 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -40484,6 +42575,9 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -40502,6 +42596,7 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -40532,12 +42627,12 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -40573,12 +42668,12 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -40614,12 +42709,12 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -40655,12 +42750,12 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -40709,6 +42804,8 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -40719,6 +42816,9 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -40737,6 +42837,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -40755,7 +42856,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -40779,7 +42880,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -40803,7 +42904,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -40827,7 +42928,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -40876,6 +42977,8 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -40886,6 +42989,9 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -40904,6 +43010,7 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -40928,12 +43035,12 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -40963,12 +43070,12 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -40998,12 +43105,12 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -41033,12 +43140,12 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -41087,6 +43194,8 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -41097,6 +43206,9 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -41115,6 +43227,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -41134,7 +43247,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -41159,7 +43272,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -41184,7 +43297,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -41209,7 +43322,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -41258,6 +43371,8 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -41268,6 +43383,9 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -41286,6 +43404,7 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -41311,12 +43430,12 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -41347,12 +43466,12 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -41383,12 +43502,12 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -41419,12 +43538,12 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -41473,6 +43592,8 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -41483,6 +43604,9 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -41501,6 +43625,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -41519,7 +43644,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -41543,7 +43668,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -41567,7 +43692,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -41591,7 +43716,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -41640,6 +43765,8 @@ static void lts_aga_fm2_n0_p8_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -41650,6 +43777,9 @@ static void lts_aga_fm2_n0_p8_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -41668,6 +43798,7 @@ static void lts_aga_fm2_n1_p8_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -41692,12 +43823,12 @@ static void lts_aga_fm2_n1_p8_ilores_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -41727,12 +43858,12 @@ static void lts_aga_fm2_n1_p8_ilores_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -41762,12 +43893,12 @@ static void lts_aga_fm2_n1_p8_ilores_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -41797,12 +43928,12 @@ static void lts_aga_fm2_n1_p8_ilores_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -41851,6 +43982,8 @@ static void lts_aga_fm2_n1_p8_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -41861,6 +43994,9 @@ static void lts_aga_fm2_n1_p8_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -41879,6 +44015,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -41902,7 +44039,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -41931,7 +44068,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -41960,7 +44097,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -41989,7 +44126,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -42038,6 +44175,8 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -42048,6 +44187,9 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -42066,6 +44208,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -42095,12 +44238,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -42135,12 +44278,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -42175,12 +44318,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -42215,12 +44358,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -42269,6 +44412,8 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -42279,6 +44424,9 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -42313,6 +44461,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -42331,7 +44480,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -42355,7 +44504,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -42379,7 +44528,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -42403,7 +44552,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -42452,6 +44601,8 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -42462,6 +44613,9 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -42480,6 +44634,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -42504,12 +44659,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -42539,12 +44694,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -42574,12 +44729,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -42609,12 +44764,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -42663,6 +44818,8 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -42673,6 +44830,9 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -42707,6 +44867,7 @@ static void lts_aga_fm2_n0_p2_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -42726,7 +44887,7 @@ static void lts_aga_fm2_n0_p2_ilores_dshres_spr(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -42759,7 +44920,7 @@ static void lts_aga_fm2_n0_p2_ilores_dshres_spr(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -42792,7 +44953,7 @@ static void lts_aga_fm2_n0_p2_ilores_dshres_spr(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -42825,7 +44986,7 @@ static void lts_aga_fm2_n0_p2_ilores_dshres_spr(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -42906,6 +45067,8 @@ static void lts_aga_fm2_n0_p2_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -42916,6 +45079,9 @@ static void lts_aga_fm2_n0_p2_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -42934,6 +45100,7 @@ static void lts_aga_fm2_n1_p2_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -42959,12 +45126,12 @@ static void lts_aga_fm2_n1_p2_ilores_dshres_spr(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -43003,12 +45170,12 @@ static void lts_aga_fm2_n1_p2_ilores_dshres_spr(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -43047,12 +45214,12 @@ static void lts_aga_fm2_n1_p2_ilores_dshres_spr(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -43091,12 +45258,12 @@ static void lts_aga_fm2_n1_p2_ilores_dshres_spr(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -43177,6 +45344,8 @@ static void lts_aga_fm2_n1_p2_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -43187,6 +45356,9 @@ static void lts_aga_fm2_n1_p2_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -43205,6 +45377,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -43229,7 +45402,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres_spr(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -43267,7 +45440,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres_spr(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -43305,7 +45478,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres_spr(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -43343,7 +45516,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres_spr(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -43424,6 +45597,8 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -43434,6 +45609,9 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -43452,6 +45630,7 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -43482,12 +45661,12 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres_spr(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -43531,12 +45710,12 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres_spr(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -43580,12 +45759,12 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres_spr(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -43629,12 +45808,12 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres_spr(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -43715,6 +45894,8 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -43725,6 +45906,9 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -43791,6 +45975,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -43810,7 +45995,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -43843,7 +46028,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -43876,7 +46061,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -43909,7 +46094,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -43990,6 +46175,8 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -44000,6 +46187,9 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -44018,6 +46208,7 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -44043,12 +46234,12 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -44087,12 +46278,12 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -44131,12 +46322,12 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -44175,12 +46366,12 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -44261,6 +46452,8 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -44271,6 +46464,9 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -44289,6 +46485,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -44313,7 +46510,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -44351,7 +46548,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -44389,7 +46586,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -44427,7 +46624,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -44508,6 +46705,8 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -44518,6 +46717,9 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -44536,6 +46738,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -44566,12 +46769,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -44615,12 +46818,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -44664,12 +46867,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -44713,12 +46916,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -44799,6 +47002,8 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -44809,6 +47014,9 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -44875,6 +47083,7 @@ static void lts_aga_fm2_n0_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -44894,7 +47103,7 @@ static void lts_aga_fm2_n0_p6_ilores_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -44927,7 +47136,7 @@ static void lts_aga_fm2_n0_p6_ilores_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -44960,7 +47169,7 @@ static void lts_aga_fm2_n0_p6_ilores_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -44993,7 +47202,7 @@ static void lts_aga_fm2_n0_p6_ilores_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -45074,6 +47283,8 @@ static void lts_aga_fm2_n0_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -45084,6 +47295,9 @@ static void lts_aga_fm2_n0_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -45102,6 +47316,7 @@ static void lts_aga_fm2_n1_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -45127,12 +47342,12 @@ static void lts_aga_fm2_n1_p6_ilores_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -45171,12 +47386,12 @@ static void lts_aga_fm2_n1_p6_ilores_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -45215,12 +47430,12 @@ static void lts_aga_fm2_n1_p6_ilores_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -45259,12 +47474,12 @@ static void lts_aga_fm2_n1_p6_ilores_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -45345,6 +47560,8 @@ static void lts_aga_fm2_n1_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -45355,6 +47572,9 @@ static void lts_aga_fm2_n1_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -45373,6 +47593,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -45397,7 +47618,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -45435,7 +47656,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -45473,7 +47694,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -45511,7 +47732,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -45592,6 +47813,8 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -45602,6 +47825,9 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -45620,6 +47846,7 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -45650,12 +47877,12 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -45699,12 +47926,12 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -45748,12 +47975,12 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -45797,12 +48024,12 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -45883,6 +48110,8 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -45893,6 +48122,9 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -45911,6 +48143,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -45936,7 +48169,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -45975,7 +48208,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -46014,7 +48247,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -46053,7 +48286,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -46134,6 +48367,8 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -46144,6 +48379,9 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -46162,6 +48400,7 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -46193,12 +48432,12 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -46243,12 +48482,12 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -46293,12 +48532,12 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -46343,12 +48582,12 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -46429,6 +48668,8 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -46439,6 +48680,9 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -46457,6 +48701,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -46476,7 +48721,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -46509,7 +48754,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -46542,7 +48787,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -46575,7 +48820,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -46656,6 +48901,8 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -46666,6 +48913,9 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -46684,6 +48934,7 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -46709,12 +48960,12 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -46753,12 +49004,12 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -46797,12 +49048,12 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -46841,12 +49092,12 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -46927,6 +49178,8 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -46937,6 +49190,9 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -46955,6 +49211,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -46975,7 +49232,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -47009,7 +49266,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -47043,7 +49300,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -47077,7 +49334,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -47158,6 +49415,8 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -47168,6 +49427,9 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -47186,6 +49448,7 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -47212,12 +49475,12 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -47257,12 +49520,12 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -47302,12 +49565,12 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -47347,12 +49610,12 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -47433,6 +49696,8 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -47443,6 +49708,9 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -47461,6 +49729,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -47480,7 +49749,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -47513,7 +49782,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -47546,7 +49815,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -47579,7 +49848,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -47660,6 +49929,8 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -47670,6 +49941,9 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -47688,6 +49962,7 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -47713,12 +49988,12 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -47757,12 +50032,12 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -47801,12 +50076,12 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -47845,12 +50120,12 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -47931,6 +50206,8 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -47941,6 +50218,9 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -47959,6 +50239,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -47983,7 +50264,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -48021,7 +50302,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -48059,7 +50340,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -48097,7 +50378,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -48178,6 +50459,8 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -48188,6 +50471,9 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -48206,6 +50492,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -48236,12 +50523,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -48285,12 +50572,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -48334,12 +50621,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -48383,12 +50670,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -48469,6 +50756,8 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -48479,6 +50768,9 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -48513,6 +50805,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -48532,7 +50825,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -48565,7 +50858,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -48598,7 +50891,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -48631,7 +50924,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -48712,6 +51005,8 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -48722,6 +51017,9 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -48740,6 +51038,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -48765,12 +51064,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -48809,12 +51108,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -48853,12 +51152,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -48897,12 +51196,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -48983,6 +51282,8 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -48993,6 +51294,9 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -49027,6 +51331,7 @@ static void lts_aga_fm2_n0_p2_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -49045,7 +51350,7 @@ static void lts_aga_fm2_n0_p2_ihires_dshres(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -49069,7 +51374,7 @@ static void lts_aga_fm2_n0_p2_ihires_dshres(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -49093,7 +51398,7 @@ static void lts_aga_fm2_n0_p2_ihires_dshres(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -49117,7 +51422,7 @@ static void lts_aga_fm2_n0_p2_ihires_dshres(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -49166,6 +51471,8 @@ static void lts_aga_fm2_n0_p2_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -49176,6 +51483,9 @@ static void lts_aga_fm2_n0_p2_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -49194,6 +51504,7 @@ static void lts_aga_fm2_n1_p2_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -49218,12 +51529,12 @@ static void lts_aga_fm2_n1_p2_ihires_dshres(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -49253,12 +51564,12 @@ static void lts_aga_fm2_n1_p2_ihires_dshres(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -49288,12 +51599,12 @@ static void lts_aga_fm2_n1_p2_ihires_dshres(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -49323,12 +51634,12 @@ static void lts_aga_fm2_n1_p2_ihires_dshres(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -49377,6 +51688,8 @@ static void lts_aga_fm2_n1_p2_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -49387,6 +51700,9 @@ static void lts_aga_fm2_n1_p2_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -49405,6 +51721,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -49428,7 +51745,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -49457,7 +51774,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -49486,7 +51803,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -49515,7 +51832,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -49564,6 +51881,8 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -49574,6 +51893,9 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -49592,6 +51914,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -49621,12 +51944,12 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -49661,12 +51984,12 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -49701,12 +52024,12 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -49741,12 +52064,12 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -49795,6 +52118,8 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -49805,6 +52130,9 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -49871,6 +52199,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -49889,7 +52218,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -49913,7 +52242,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -49937,7 +52266,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -49961,7 +52290,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -50010,6 +52339,8 @@ static void lts_aga_fm2_n0_p4_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -50020,6 +52351,9 @@ static void lts_aga_fm2_n0_p4_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -50038,6 +52372,7 @@ static void lts_aga_fm2_n1_p4_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -50062,12 +52397,12 @@ static void lts_aga_fm2_n1_p4_ihires_dshres(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -50097,12 +52432,12 @@ static void lts_aga_fm2_n1_p4_ihires_dshres(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -50132,12 +52467,12 @@ static void lts_aga_fm2_n1_p4_ihires_dshres(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -50167,12 +52502,12 @@ static void lts_aga_fm2_n1_p4_ihires_dshres(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -50221,6 +52556,8 @@ static void lts_aga_fm2_n1_p4_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -50231,6 +52568,9 @@ static void lts_aga_fm2_n1_p4_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -50249,6 +52589,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -50272,7 +52613,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -50301,7 +52642,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -50330,7 +52671,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -50359,7 +52700,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -50408,6 +52749,8 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -50418,6 +52761,9 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -50436,6 +52782,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -50465,12 +52812,12 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -50505,12 +52852,12 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -50545,12 +52892,12 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -50585,12 +52932,12 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -50639,6 +52986,8 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -50649,6 +52998,9 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -50715,6 +53067,7 @@ static void lts_aga_fm2_n0_p6_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -50733,7 +53086,7 @@ static void lts_aga_fm2_n0_p6_ihires_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -50757,7 +53110,7 @@ static void lts_aga_fm2_n0_p6_ihires_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -50781,7 +53134,7 @@ static void lts_aga_fm2_n0_p6_ihires_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -50805,7 +53158,7 @@ static void lts_aga_fm2_n0_p6_ihires_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -50854,6 +53207,8 @@ static void lts_aga_fm2_n0_p6_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -50864,6 +53219,9 @@ static void lts_aga_fm2_n0_p6_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -50882,6 +53240,7 @@ static void lts_aga_fm2_n1_p6_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -50906,12 +53265,12 @@ static void lts_aga_fm2_n1_p6_ihires_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -50941,12 +53300,12 @@ static void lts_aga_fm2_n1_p6_ihires_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -50976,12 +53335,12 @@ static void lts_aga_fm2_n1_p6_ihires_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -51011,12 +53370,12 @@ static void lts_aga_fm2_n1_p6_ihires_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -51065,6 +53424,8 @@ static void lts_aga_fm2_n1_p6_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -51075,6 +53436,9 @@ static void lts_aga_fm2_n1_p6_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -51093,6 +53457,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -51116,7 +53481,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -51145,7 +53510,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -51174,7 +53539,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -51203,7 +53568,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -51252,6 +53617,8 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -51262,6 +53629,9 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -51280,6 +53650,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -51309,12 +53680,12 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -51349,12 +53720,12 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -51389,12 +53760,12 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -51429,12 +53800,12 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -51483,6 +53854,8 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -51493,6 +53866,9 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -51511,6 +53887,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -51535,7 +53912,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -51565,7 +53942,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -51595,7 +53972,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -51625,7 +54002,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -51674,6 +54051,8 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -51684,6 +54063,9 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -51702,6 +54084,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -51732,12 +54115,12 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -51773,12 +54156,12 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -51814,12 +54197,12 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -51855,12 +54238,12 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -51909,6 +54292,8 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -51919,6 +54304,9 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -51937,6 +54325,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -51955,7 +54344,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -51979,7 +54368,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -52003,7 +54392,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -52027,7 +54416,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -52076,6 +54465,8 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -52086,6 +54477,9 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -52104,6 +54498,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -52128,12 +54523,12 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -52163,12 +54558,12 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -52198,12 +54593,12 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -52233,12 +54628,12 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -52287,6 +54682,8 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -52297,6 +54694,9 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -52315,6 +54715,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -52334,7 +54735,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -52359,7 +54760,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -52384,7 +54785,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -52409,7 +54810,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -52458,6 +54859,8 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -52468,6 +54871,9 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -52486,6 +54892,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -52511,12 +54918,12 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -52547,12 +54954,12 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -52583,12 +54990,12 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -52619,12 +55026,12 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -52673,6 +55080,8 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -52683,6 +55092,9 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -52701,6 +55113,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -52719,7 +55132,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -52743,7 +55156,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -52767,7 +55180,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -52791,7 +55204,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -52840,6 +55253,8 @@ static void lts_aga_fm2_n0_p8_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -52850,6 +55265,9 @@ static void lts_aga_fm2_n0_p8_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -52868,6 +55286,7 @@ static void lts_aga_fm2_n1_p8_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -52892,12 +55311,12 @@ static void lts_aga_fm2_n1_p8_ihires_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -52927,12 +55346,12 @@ static void lts_aga_fm2_n1_p8_ihires_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -52962,12 +55381,12 @@ static void lts_aga_fm2_n1_p8_ihires_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -52997,12 +55416,12 @@ static void lts_aga_fm2_n1_p8_ihires_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -53051,6 +55470,8 @@ static void lts_aga_fm2_n1_p8_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -53061,6 +55482,9 @@ static void lts_aga_fm2_n1_p8_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -53079,6 +55503,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -53102,7 +55527,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -53131,7 +55556,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -53160,7 +55585,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -53189,7 +55614,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -53238,6 +55663,8 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -53248,6 +55675,9 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -53266,6 +55696,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -53295,12 +55726,12 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -53335,12 +55766,12 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -53375,12 +55806,12 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -53415,12 +55846,12 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -53469,6 +55900,8 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -53479,6 +55912,9 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -53513,6 +55949,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -53531,7 +55968,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -53555,7 +55992,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -53579,7 +56016,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -53603,7 +56040,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -53652,6 +56089,8 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -53662,6 +56101,9 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -53680,6 +56122,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -53704,12 +56147,12 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -53739,12 +56182,12 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -53774,12 +56217,12 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -53809,12 +56252,12 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -53863,6 +56306,8 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -53873,6 +56318,9 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -53907,6 +56355,7 @@ static void lts_aga_fm2_n0_p2_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -53926,7 +56375,7 @@ static void lts_aga_fm2_n0_p2_ihires_dshres_spr(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -53959,7 +56408,7 @@ static void lts_aga_fm2_n0_p2_ihires_dshres_spr(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -53992,7 +56441,7 @@ static void lts_aga_fm2_n0_p2_ihires_dshres_spr(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -54025,7 +56474,7 @@ static void lts_aga_fm2_n0_p2_ihires_dshres_spr(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -54106,6 +56555,8 @@ static void lts_aga_fm2_n0_p2_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -54116,6 +56567,9 @@ static void lts_aga_fm2_n0_p2_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -54134,6 +56588,7 @@ static void lts_aga_fm2_n1_p2_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -54159,12 +56614,12 @@ static void lts_aga_fm2_n1_p2_ihires_dshres_spr(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -54203,12 +56658,12 @@ static void lts_aga_fm2_n1_p2_ihires_dshres_spr(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -54247,12 +56702,12 @@ static void lts_aga_fm2_n1_p2_ihires_dshres_spr(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -54291,12 +56746,12 @@ static void lts_aga_fm2_n1_p2_ihires_dshres_spr(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -54377,6 +56832,8 @@ static void lts_aga_fm2_n1_p2_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -54387,6 +56844,9 @@ static void lts_aga_fm2_n1_p2_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -54405,6 +56865,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -54429,7 +56890,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres_spr(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -54467,7 +56928,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres_spr(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -54505,7 +56966,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres_spr(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -54543,7 +57004,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres_spr(void) shiftbpl2_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl2_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); @@ -54624,6 +57085,8 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -54634,6 +57097,9 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -54652,6 +57118,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -54682,12 +57149,12 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres_spr(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -54731,12 +57198,12 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres_spr(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -54780,12 +57247,12 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres_spr(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -54829,12 +57296,12 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres_spr(void) shiftbpl2o_64(); loaded_pix = getbpl2_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl2_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl2_64(); @@ -54915,6 +57382,8 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -54925,6 +57394,9 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -54991,6 +57463,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -55010,7 +57483,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -55043,7 +57516,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -55076,7 +57549,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -55109,7 +57582,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -55190,6 +57663,8 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -55200,6 +57675,9 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -55218,6 +57696,7 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -55243,12 +57722,12 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -55287,12 +57766,12 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -55331,12 +57810,12 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -55375,12 +57854,12 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -55461,6 +57940,8 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -55471,6 +57952,9 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -55489,6 +57973,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -55513,7 +57998,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -55551,7 +58036,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -55589,7 +58074,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -55627,7 +58112,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -55708,6 +58193,8 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -55718,6 +58205,9 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -55736,6 +58226,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -55766,12 +58257,12 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -55815,12 +58306,12 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -55864,12 +58355,12 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -55913,12 +58404,12 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -55999,6 +58490,8 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -56009,6 +58502,9 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -56075,6 +58571,7 @@ static void lts_aga_fm2_n0_p6_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -56094,7 +58591,7 @@ static void lts_aga_fm2_n0_p6_ihires_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -56127,7 +58624,7 @@ static void lts_aga_fm2_n0_p6_ihires_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -56160,7 +58657,7 @@ static void lts_aga_fm2_n0_p6_ihires_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -56193,7 +58690,7 @@ static void lts_aga_fm2_n0_p6_ihires_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -56274,6 +58771,8 @@ static void lts_aga_fm2_n0_p6_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -56284,6 +58783,9 @@ static void lts_aga_fm2_n0_p6_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -56302,6 +58804,7 @@ static void lts_aga_fm2_n1_p6_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -56327,12 +58830,12 @@ static void lts_aga_fm2_n1_p6_ihires_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -56371,12 +58874,12 @@ static void lts_aga_fm2_n1_p6_ihires_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -56415,12 +58918,12 @@ static void lts_aga_fm2_n1_p6_ihires_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -56459,12 +58962,12 @@ static void lts_aga_fm2_n1_p6_ihires_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -56545,6 +59048,8 @@ static void lts_aga_fm2_n1_p6_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -56555,6 +59060,9 @@ static void lts_aga_fm2_n1_p6_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -56573,6 +59081,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -56597,7 +59106,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -56635,7 +59144,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -56673,7 +59182,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -56711,7 +59220,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -56792,6 +59301,8 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -56802,6 +59313,9 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -56820,6 +59334,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -56850,12 +59365,12 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -56899,12 +59414,12 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -56948,12 +59463,12 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -56997,12 +59512,12 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -57083,6 +59598,8 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -57093,6 +59610,9 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -57111,6 +59631,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -57136,7 +59657,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -57175,7 +59696,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -57214,7 +59735,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -57253,7 +59774,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -57334,6 +59855,8 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -57344,6 +59867,9 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -57362,6 +59888,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -57393,12 +59920,12 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -57443,12 +59970,12 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -57493,12 +60020,12 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -57543,12 +60070,12 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -57629,6 +60156,8 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -57639,6 +60168,9 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -57657,6 +60189,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -57676,7 +60209,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -57709,7 +60242,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -57742,7 +60275,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -57775,7 +60308,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -57856,6 +60389,8 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -57866,6 +60401,9 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -57884,6 +60422,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -57909,12 +60448,12 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -57953,12 +60492,12 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -57997,12 +60536,12 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -58041,12 +60580,12 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -58127,6 +60666,8 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -58137,6 +60678,9 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -58155,6 +60699,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -58175,7 +60720,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -58209,7 +60754,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -58243,7 +60788,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -58277,7 +60822,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres_spr(void) shiftbpl6_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); @@ -58358,6 +60903,8 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -58368,6 +60915,9 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -58386,6 +60936,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -58412,12 +60963,12 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -58457,12 +61008,12 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -58502,12 +61053,12 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -58547,12 +61098,12 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres_spr(void) shiftbpl6o_64(); loaded_pix = getbpl6_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl6_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl6_64(); @@ -58633,6 +61184,8 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -58643,6 +61196,9 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -58661,6 +61217,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -58680,7 +61237,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -58713,7 +61270,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -58746,7 +61303,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -58779,7 +61336,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -58860,6 +61417,8 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -58870,6 +61429,9 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -58888,6 +61450,7 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -58913,12 +61476,12 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -58957,12 +61520,12 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -59001,12 +61564,12 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -59045,12 +61608,12 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -59131,6 +61694,8 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -59141,6 +61706,9 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -59159,6 +61727,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -59183,7 +61752,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -59221,7 +61790,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -59259,7 +61828,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -59297,7 +61866,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -59378,6 +61947,8 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -59388,6 +61959,9 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -59406,6 +61980,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -59436,12 +62011,12 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -59485,12 +62060,12 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -59534,12 +62109,12 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -59583,12 +62158,12 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -59669,6 +62244,8 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -59679,6 +62256,9 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -59713,6 +62293,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -59732,7 +62313,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -59765,7 +62346,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -59798,7 +62379,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -59831,7 +62412,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -59912,6 +62493,8 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -59922,6 +62505,9 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -59940,6 +62526,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -59965,12 +62552,12 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -60009,12 +62596,12 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -60053,12 +62640,12 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -60097,12 +62684,12 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -60183,6 +62770,8 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -60193,6 +62782,9 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -60227,6 +62819,7 @@ static void lts_aga_fm2_n0_p2_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -60240,7 +62833,7 @@ static void lts_aga_fm2_n0_p2_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -60258,7 +62851,7 @@ static void lts_aga_fm2_n0_p2_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -60276,7 +62869,7 @@ static void lts_aga_fm2_n0_p2_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -60294,7 +62887,7 @@ static void lts_aga_fm2_n0_p2_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -60342,6 +62935,8 @@ static void lts_aga_fm2_n0_p2_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -60352,6 +62947,9 @@ static void lts_aga_fm2_n0_p2_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -60370,6 +62968,7 @@ static void lts_aga_fm2_n1_p2_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -60383,10 +62982,10 @@ static void lts_aga_fm2_n1_p2_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -60404,10 +63003,10 @@ static void lts_aga_fm2_n1_p2_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -60425,10 +63024,10 @@ static void lts_aga_fm2_n1_p2_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -60446,10 +63045,10 @@ static void lts_aga_fm2_n1_p2_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -60497,6 +63096,8 @@ static void lts_aga_fm2_n1_p2_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -60507,6 +63108,9 @@ static void lts_aga_fm2_n1_p2_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -60525,6 +63129,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -60543,7 +63148,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -60566,7 +63171,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -60589,7 +63194,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -60612,7 +63217,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -60660,6 +63265,8 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -60670,6 +63277,9 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -60688,6 +63298,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -60706,10 +63317,10 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -60732,10 +63343,10 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -60758,10 +63369,10 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -60784,10 +63395,10 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -60835,6 +63446,8 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -60845,6 +63458,9 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -60911,6 +63527,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -60924,7 +63541,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -60942,7 +63559,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -60960,7 +63577,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -60978,7 +63595,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -61026,6 +63643,8 @@ static void lts_aga_fm2_n0_p4_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -61036,6 +63655,9 @@ static void lts_aga_fm2_n0_p4_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -61054,6 +63676,7 @@ static void lts_aga_fm2_n1_p4_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -61067,10 +63690,10 @@ static void lts_aga_fm2_n1_p4_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -61088,10 +63711,10 @@ static void lts_aga_fm2_n1_p4_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -61109,10 +63732,10 @@ static void lts_aga_fm2_n1_p4_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -61130,10 +63753,10 @@ static void lts_aga_fm2_n1_p4_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -61181,6 +63804,8 @@ static void lts_aga_fm2_n1_p4_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -61191,6 +63816,9 @@ static void lts_aga_fm2_n1_p4_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -61209,6 +63837,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -61227,7 +63856,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -61250,7 +63879,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -61273,7 +63902,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -61296,7 +63925,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -61344,6 +63973,8 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -61354,6 +63985,9 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -61372,6 +64006,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -61390,10 +64025,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -61416,10 +64051,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -61442,10 +64077,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -61468,10 +64103,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -61519,6 +64154,8 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -61529,6 +64166,9 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -61595,6 +64235,7 @@ static void lts_aga_fm2_n0_p6_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -61608,7 +64249,7 @@ static void lts_aga_fm2_n0_p6_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -61626,7 +64267,7 @@ static void lts_aga_fm2_n0_p6_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -61644,7 +64285,7 @@ static void lts_aga_fm2_n0_p6_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -61662,7 +64303,7 @@ static void lts_aga_fm2_n0_p6_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -61710,6 +64351,8 @@ static void lts_aga_fm2_n0_p6_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -61720,6 +64363,9 @@ static void lts_aga_fm2_n0_p6_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -61738,6 +64384,7 @@ static void lts_aga_fm2_n1_p6_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -61751,10 +64398,10 @@ static void lts_aga_fm2_n1_p6_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -61772,10 +64419,10 @@ static void lts_aga_fm2_n1_p6_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -61793,10 +64440,10 @@ static void lts_aga_fm2_n1_p6_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -61814,10 +64461,10 @@ static void lts_aga_fm2_n1_p6_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -61865,6 +64512,8 @@ static void lts_aga_fm2_n1_p6_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -61875,6 +64524,9 @@ static void lts_aga_fm2_n1_p6_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -61893,6 +64545,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -61911,7 +64564,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -61934,7 +64587,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -61957,7 +64610,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -61980,7 +64633,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -62028,6 +64681,8 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -62038,6 +64693,9 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -62056,6 +64714,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -62074,10 +64733,10 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -62100,10 +64759,10 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -62126,10 +64785,10 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -62152,10 +64811,10 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -62203,6 +64862,8 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -62213,6 +64874,9 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -62231,6 +64895,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -62250,7 +64915,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -62274,7 +64939,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -62298,7 +64963,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -62322,7 +64987,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -62370,6 +65035,8 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -62380,6 +65047,9 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -62398,6 +65068,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -62417,10 +65088,10 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -62444,10 +65115,10 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -62471,10 +65142,10 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -62498,10 +65169,10 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -62549,6 +65220,8 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -62559,6 +65232,9 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -62577,6 +65253,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -62590,7 +65267,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -62608,7 +65285,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -62626,7 +65303,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -62644,7 +65321,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -62692,6 +65369,8 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -62702,6 +65381,9 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -62720,6 +65402,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -62733,10 +65416,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -62754,10 +65437,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -62775,10 +65458,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -62796,10 +65479,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -62847,6 +65530,8 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -62857,6 +65542,9 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -62875,6 +65563,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -62889,7 +65578,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -62908,7 +65597,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -62927,7 +65616,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -62946,7 +65635,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -62994,6 +65683,8 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -63004,6 +65695,9 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -63022,6 +65716,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -63036,10 +65731,10 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -63058,10 +65753,10 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -63080,10 +65775,10 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -63102,10 +65797,10 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -63153,6 +65848,8 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -63163,6 +65860,9 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -63181,6 +65881,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -63194,7 +65895,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -63212,7 +65913,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -63230,7 +65931,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -63248,7 +65949,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -63296,6 +65997,8 @@ static void lts_aga_fm2_n0_p8_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -63306,6 +66009,9 @@ static void lts_aga_fm2_n0_p8_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -63324,6 +66030,7 @@ static void lts_aga_fm2_n1_p8_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -63337,10 +66044,10 @@ static void lts_aga_fm2_n1_p8_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -63358,10 +66065,10 @@ static void lts_aga_fm2_n1_p8_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -63379,10 +66086,10 @@ static void lts_aga_fm2_n1_p8_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -63400,10 +66107,10 @@ static void lts_aga_fm2_n1_p8_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -63451,6 +66158,8 @@ static void lts_aga_fm2_n1_p8_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -63461,6 +66170,9 @@ static void lts_aga_fm2_n1_p8_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -63479,6 +66191,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -63497,7 +66210,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -63520,7 +66233,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -63543,7 +66256,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -63566,7 +66279,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -63614,6 +66327,8 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -63624,6 +66339,9 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -63642,6 +66360,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -63660,10 +66379,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -63686,10 +66405,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -63712,10 +66431,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -63738,10 +66457,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -63789,6 +66508,8 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -63799,6 +66520,9 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -63833,6 +66557,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -63846,7 +66571,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -63864,7 +66589,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -63882,7 +66607,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -63900,7 +66625,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -63948,6 +66673,8 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -63958,6 +66685,9 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -63976,6 +66706,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u32 dpix_val0 = BLANK_COLOR; @@ -63989,10 +66720,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -64010,10 +66741,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -64031,10 +66762,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -64052,10 +66783,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -64103,6 +66834,8 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -64113,6 +66846,9 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -64147,6 +66883,7 @@ static void lts_aga_fm2_n0_p2_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -64161,7 +66898,7 @@ static void lts_aga_fm2_n0_p2_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -64188,7 +66925,7 @@ static void lts_aga_fm2_n0_p2_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -64215,7 +66952,7 @@ static void lts_aga_fm2_n0_p2_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -64242,7 +66979,7 @@ static void lts_aga_fm2_n0_p2_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -64322,6 +67059,8 @@ static void lts_aga_fm2_n0_p2_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -64332,6 +67071,9 @@ static void lts_aga_fm2_n0_p2_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -64350,6 +67092,7 @@ static void lts_aga_fm2_n1_p2_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -64364,10 +67107,10 @@ static void lts_aga_fm2_n1_p2_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -64394,10 +67137,10 @@ static void lts_aga_fm2_n1_p2_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -64424,10 +67167,10 @@ static void lts_aga_fm2_n1_p2_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -64454,10 +67197,10 @@ static void lts_aga_fm2_n1_p2_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -64537,6 +67280,8 @@ static void lts_aga_fm2_n1_p2_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -64547,6 +67292,9 @@ static void lts_aga_fm2_n1_p2_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -64565,6 +67313,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -64584,7 +67333,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -64616,7 +67365,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -64648,7 +67397,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -64680,7 +67429,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2_64(); } loaded_pix = getbpl2_64(); @@ -64760,6 +67509,8 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -64770,6 +67521,9 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -64788,6 +67542,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -64807,10 +67562,10 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -64842,10 +67597,10 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -64877,10 +67632,10 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -64912,10 +67667,10 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl2_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl2e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl2o_64(); } loaded_pix = getbpl2_64(); @@ -64995,6 +67750,8 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -65005,6 +67762,9 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -65071,6 +67831,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -65085,7 +67846,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -65112,7 +67873,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -65139,7 +67900,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -65166,7 +67927,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -65246,6 +68007,8 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -65256,6 +68019,9 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -65274,6 +68040,7 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -65288,10 +68055,10 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -65318,10 +68085,10 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -65348,10 +68115,10 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -65378,10 +68145,10 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -65461,6 +68228,8 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -65471,6 +68240,9 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -65489,6 +68261,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -65508,7 +68281,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -65540,7 +68313,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -65572,7 +68345,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -65604,7 +68377,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -65684,6 +68457,8 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -65694,6 +68469,9 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -65712,6 +68490,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -65731,10 +68510,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -65766,10 +68545,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -65801,10 +68580,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -65836,10 +68615,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -65919,6 +68698,8 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -65929,6 +68710,9 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -65995,6 +68779,7 @@ static void lts_aga_fm2_n0_p6_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -66009,7 +68794,7 @@ static void lts_aga_fm2_n0_p6_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -66036,7 +68821,7 @@ static void lts_aga_fm2_n0_p6_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -66063,7 +68848,7 @@ static void lts_aga_fm2_n0_p6_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -66090,7 +68875,7 @@ static void lts_aga_fm2_n0_p6_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -66170,6 +68955,8 @@ static void lts_aga_fm2_n0_p6_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -66180,6 +68967,9 @@ static void lts_aga_fm2_n0_p6_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -66198,6 +68988,7 @@ static void lts_aga_fm2_n1_p6_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -66212,10 +69003,10 @@ static void lts_aga_fm2_n1_p6_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -66242,10 +69033,10 @@ static void lts_aga_fm2_n1_p6_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -66272,10 +69063,10 @@ static void lts_aga_fm2_n1_p6_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -66302,10 +69093,10 @@ static void lts_aga_fm2_n1_p6_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -66385,6 +69176,8 @@ static void lts_aga_fm2_n1_p6_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -66395,6 +69188,9 @@ static void lts_aga_fm2_n1_p6_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -66413,6 +69209,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -66432,7 +69229,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -66464,7 +69261,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -66496,7 +69293,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -66528,7 +69325,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -66608,6 +69405,8 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -66618,6 +69417,9 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -66636,6 +69438,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -66655,10 +69458,10 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -66690,10 +69493,10 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -66725,10 +69528,10 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -66760,10 +69563,10 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -66843,6 +69646,8 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -66853,6 +69658,9 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -66871,6 +69679,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -66891,7 +69700,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -66924,7 +69733,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -66957,7 +69766,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -66990,7 +69799,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -67070,6 +69879,8 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -67080,6 +69891,9 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -67098,6 +69912,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -67118,10 +69933,10 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -67154,10 +69969,10 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -67190,10 +70005,10 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -67226,10 +70041,10 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -67309,6 +70124,8 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -67319,6 +70136,9 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -67337,6 +70157,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -67351,7 +70172,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -67378,7 +70199,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -67405,7 +70226,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -67432,7 +70253,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -67512,6 +70333,8 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -67522,6 +70345,9 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -67540,6 +70366,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -67554,10 +70381,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -67584,10 +70411,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -67614,10 +70441,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -67644,10 +70471,10 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -67727,6 +70554,8 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -67737,6 +70566,9 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -67755,6 +70587,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -67770,7 +70603,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -67798,7 +70631,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -67826,7 +70659,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -67854,7 +70687,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6_64(); } loaded_pix = getbpl6_64(); @@ -67934,6 +70767,8 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -67944,6 +70779,9 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -67962,6 +70800,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -67977,10 +70816,10 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -68008,10 +70847,10 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -68039,10 +70878,10 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -68070,10 +70909,10 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl6_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl6e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl6o_64(); } loaded_pix = getbpl6_64(); @@ -68153,6 +70992,8 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -68163,6 +71004,9 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -68181,6 +71025,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -68195,7 +71040,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -68222,7 +71067,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -68249,7 +71094,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -68276,7 +71121,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -68356,6 +71201,8 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -68366,6 +71213,9 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -68384,6 +71234,7 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -68398,10 +71249,10 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -68428,10 +71279,10 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -68458,10 +71309,10 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -68488,10 +71339,10 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -68571,6 +71422,8 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -68581,6 +71434,9 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -68599,6 +71455,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -68618,7 +71475,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -68650,7 +71507,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -68682,7 +71539,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -68714,7 +71571,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -68794,6 +71651,8 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -68804,6 +71663,9 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -68822,6 +71684,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -68841,10 +71704,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -68876,10 +71739,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -68911,10 +71774,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -68946,10 +71809,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -69029,6 +71892,8 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -69039,6 +71904,9 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -69073,6 +71941,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -69087,7 +71956,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -69114,7 +71983,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -69141,7 +72010,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -69168,7 +72037,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -69248,6 +72117,8 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -69258,6 +72129,9 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -69276,6 +72150,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -69290,10 +72165,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -69320,10 +72195,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -69350,10 +72225,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -69380,10 +72255,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -69463,6 +72338,8 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -69473,6 +72350,9 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } diff --git a/linetoscr_aga_fm2_genlock.cpp b/linetoscr_aga_fm2_genlock.cpp index b9ceae82..30b489af 100644 --- a/linetoscr_aga_fm2_genlock.cpp +++ b/linetoscr_aga_fm2_genlock.cpp @@ -15,6 +15,7 @@ static void lts_aga_fm2_n0_p4_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -31,7 +32,7 @@ static void lts_aga_fm2_n0_p4_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -54,6 +55,8 @@ static void lts_aga_fm2_n0_p4_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -64,6 +67,9 @@ static void lts_aga_fm2_n0_p4_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -82,6 +88,7 @@ static void lts_aga_fm2_n1_p4_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -98,10 +105,10 @@ static void lts_aga_fm2_n1_p4_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -124,6 +131,8 @@ static void lts_aga_fm2_n1_p4_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -134,6 +143,9 @@ static void lts_aga_fm2_n1_p4_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -152,6 +164,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -173,7 +186,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -196,6 +209,8 @@ static void lts_aga_fm2_dpf0_p4_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -206,6 +221,9 @@ static void lts_aga_fm2_dpf0_p4_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -224,6 +242,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -245,10 +264,10 @@ static void lts_aga_fm2_dpf1_p4_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -271,6 +290,8 @@ static void lts_aga_fm2_dpf1_p4_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -281,6 +302,9 @@ static void lts_aga_fm2_dpf1_p4_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -347,6 +371,7 @@ static void lts_aga_fm2_n0_p8_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -363,7 +388,7 @@ static void lts_aga_fm2_n0_p8_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -386,6 +411,8 @@ static void lts_aga_fm2_n0_p8_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -396,6 +423,9 @@ static void lts_aga_fm2_n0_p8_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -414,6 +444,7 @@ static void lts_aga_fm2_n1_p8_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -430,10 +461,10 @@ static void lts_aga_fm2_n1_p8_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -456,6 +487,8 @@ static void lts_aga_fm2_n1_p8_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -466,6 +499,9 @@ static void lts_aga_fm2_n1_p8_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -484,6 +520,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -505,7 +542,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -528,6 +565,8 @@ static void lts_aga_fm2_dpf0_p8_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -538,6 +577,9 @@ static void lts_aga_fm2_dpf0_p8_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -556,6 +598,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -577,10 +620,10 @@ static void lts_aga_fm2_dpf1_p8_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -603,6 +646,8 @@ static void lts_aga_fm2_dpf1_p8_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -613,6 +658,9 @@ static void lts_aga_fm2_dpf1_p8_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -647,6 +695,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -663,7 +712,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -686,6 +735,8 @@ static void lts_aga_fm2_ham0_p8_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -696,6 +747,9 @@ static void lts_aga_fm2_ham0_p8_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -714,6 +768,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -730,10 +785,10 @@ static void lts_aga_fm2_ham1_p8_ilores_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -756,6 +811,8 @@ static void lts_aga_fm2_ham1_p8_ilores_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -766,6 +823,9 @@ static void lts_aga_fm2_ham1_p8_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -800,6 +860,7 @@ static void lts_aga_fm2_n0_p4_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -817,7 +878,7 @@ static void lts_aga_fm2_n0_p4_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -856,6 +917,8 @@ static void lts_aga_fm2_n0_p4_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -866,6 +929,9 @@ static void lts_aga_fm2_n0_p4_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -884,6 +950,7 @@ static void lts_aga_fm2_n1_p4_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -901,10 +968,10 @@ static void lts_aga_fm2_n1_p4_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -943,6 +1010,8 @@ static void lts_aga_fm2_n1_p4_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -953,6 +1022,9 @@ static void lts_aga_fm2_n1_p4_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -971,6 +1043,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -993,7 +1066,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -1032,6 +1105,8 @@ static void lts_aga_fm2_dpf0_p4_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1042,6 +1117,9 @@ static void lts_aga_fm2_dpf0_p4_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1060,6 +1138,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1082,10 +1161,10 @@ static void lts_aga_fm2_dpf1_p4_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -1124,6 +1203,8 @@ static void lts_aga_fm2_dpf1_p4_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1134,6 +1215,9 @@ static void lts_aga_fm2_dpf1_p4_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1200,6 +1284,7 @@ static void lts_aga_fm2_n0_p8_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1217,7 +1302,7 @@ static void lts_aga_fm2_n0_p8_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -1256,6 +1341,8 @@ static void lts_aga_fm2_n0_p8_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1266,6 +1353,9 @@ static void lts_aga_fm2_n0_p8_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1284,6 +1374,7 @@ static void lts_aga_fm2_n1_p8_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1301,10 +1392,10 @@ static void lts_aga_fm2_n1_p8_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -1343,6 +1434,8 @@ static void lts_aga_fm2_n1_p8_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1353,6 +1446,9 @@ static void lts_aga_fm2_n1_p8_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1371,6 +1467,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1393,7 +1490,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -1432,6 +1529,8 @@ static void lts_aga_fm2_dpf0_p8_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1442,6 +1541,9 @@ static void lts_aga_fm2_dpf0_p8_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1460,6 +1562,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1482,10 +1585,10 @@ static void lts_aga_fm2_dpf1_p8_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -1524,6 +1627,8 @@ static void lts_aga_fm2_dpf1_p8_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1534,6 +1639,9 @@ static void lts_aga_fm2_dpf1_p8_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1568,6 +1676,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1585,7 +1694,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -1624,6 +1733,8 @@ static void lts_aga_fm2_ham0_p8_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1634,6 +1745,9 @@ static void lts_aga_fm2_ham0_p8_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1652,6 +1766,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -1669,10 +1784,10 @@ static void lts_aga_fm2_ham1_p8_ilores_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -1711,6 +1826,8 @@ static void lts_aga_fm2_ham1_p8_ilores_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1721,6 +1838,9 @@ static void lts_aga_fm2_ham1_p8_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1755,6 +1875,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -1771,7 +1892,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -1795,6 +1916,8 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1805,6 +1928,9 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1819,6 +1945,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -1835,7 +1962,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -1855,7 +1982,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -1880,6 +2007,8 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1890,6 +2019,9 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1904,6 +2036,7 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -1920,10 +2053,10 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -1947,6 +2080,8 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1957,6 +2092,9 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1971,6 +2109,7 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -1987,10 +2126,10 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -2010,10 +2149,10 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -2038,6 +2177,8 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2048,6 +2189,9 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2062,6 +2206,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2083,7 +2228,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -2107,6 +2252,8 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2117,6 +2264,9 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2131,6 +2281,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2152,7 +2303,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -2177,7 +2328,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -2202,6 +2353,8 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2212,6 +2365,9 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2226,6 +2382,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2247,10 +2404,10 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -2274,6 +2431,8 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2284,6 +2443,9 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2298,6 +2460,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2319,10 +2482,10 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -2347,10 +2510,10 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -2375,6 +2538,8 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2385,6 +2550,9 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2447,6 +2615,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2463,7 +2632,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -2487,6 +2656,8 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2497,6 +2668,9 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2511,6 +2685,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2527,7 +2702,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -2547,7 +2722,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -2572,6 +2747,8 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2582,6 +2759,9 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2596,6 +2776,7 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2612,10 +2793,10 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -2639,6 +2820,8 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2649,6 +2832,9 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2663,6 +2849,7 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2679,10 +2866,10 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -2702,10 +2889,10 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -2730,6 +2917,8 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2740,6 +2929,9 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2754,6 +2946,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2775,7 +2968,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -2799,6 +2992,8 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2809,6 +3004,9 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2823,6 +3021,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2844,7 +3043,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -2869,7 +3068,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -2894,6 +3093,8 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2904,6 +3105,9 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2918,6 +3122,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -2939,10 +3144,10 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -2966,6 +3171,8 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2976,6 +3183,9 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2990,6 +3200,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -3011,10 +3222,10 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -3039,10 +3250,10 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -3067,6 +3278,8 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3077,6 +3290,9 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3107,6 +3323,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -3123,7 +3340,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -3140,7 +3357,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -3163,6 +3380,8 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3173,6 +3392,9 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3187,6 +3409,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -3203,7 +3426,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -3223,7 +3446,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -3248,6 +3471,8 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3258,6 +3483,9 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3272,6 +3500,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -3288,10 +3517,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -3308,10 +3537,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -3334,6 +3563,8 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3344,6 +3575,9 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3358,6 +3592,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -3374,10 +3609,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -3397,10 +3632,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -3425,6 +3660,8 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3435,6 +3672,9 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3465,6 +3705,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3482,7 +3723,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -3522,6 +3763,8 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3532,6 +3775,9 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3546,6 +3792,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3563,7 +3810,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -3591,7 +3838,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -3625,6 +3872,8 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3635,6 +3884,9 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3649,6 +3901,7 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3666,10 +3919,10 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -3709,6 +3962,8 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3719,6 +3974,9 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3733,6 +3991,7 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3750,10 +4009,10 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -3781,10 +4040,10 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -3818,6 +4077,8 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3828,6 +4089,9 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3842,6 +4106,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3864,7 +4129,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -3904,6 +4169,8 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3914,6 +4181,9 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3928,6 +4198,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -3950,7 +4221,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -3983,7 +4254,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -4017,6 +4288,8 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4027,6 +4300,9 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4041,6 +4317,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -4063,10 +4340,10 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -4106,6 +4383,8 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4116,6 +4395,9 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4130,6 +4412,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -4152,10 +4435,10 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -4188,10 +4471,10 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -4225,6 +4508,8 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4235,6 +4520,9 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4297,6 +4585,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -4314,7 +4603,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -4354,6 +4643,8 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4364,6 +4655,9 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4378,6 +4672,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -4395,7 +4690,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -4423,7 +4718,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -4457,6 +4752,8 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4467,6 +4764,9 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4481,6 +4781,7 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -4498,10 +4799,10 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -4541,6 +4842,8 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4551,6 +4854,9 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4565,6 +4871,7 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -4582,10 +4889,10 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -4613,10 +4920,10 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -4650,6 +4957,8 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4660,6 +4969,9 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4674,6 +4986,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -4696,7 +5009,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -4736,6 +5049,8 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4746,6 +5061,9 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4760,6 +5078,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -4782,7 +5101,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -4815,7 +5134,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -4849,6 +5168,8 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4859,6 +5180,9 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4873,6 +5197,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -4895,10 +5220,10 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -4938,6 +5263,8 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4948,6 +5275,9 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4962,6 +5292,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -4984,10 +5315,10 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -5020,10 +5351,10 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -5057,6 +5388,8 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5067,6 +5400,9 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5097,6 +5433,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5114,7 +5451,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -5139,7 +5476,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -5170,6 +5507,8 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5180,6 +5519,9 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5194,6 +5536,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5211,7 +5554,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -5239,7 +5582,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -5273,6 +5616,8 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5283,6 +5628,9 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5297,6 +5645,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5314,10 +5663,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -5342,10 +5691,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -5376,6 +5725,8 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5386,6 +5737,9 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5400,6 +5754,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -5417,10 +5772,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -5448,10 +5803,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -5485,6 +5840,8 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5495,6 +5852,9 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5845,6 +6205,7 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -5866,7 +6227,7 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -5893,7 +6254,7 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -5928,6 +6289,8 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5938,6 +6301,9 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5956,6 +6322,7 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -5983,12 +6350,12 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -6021,12 +6388,12 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -6061,6 +6428,8 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6071,6 +6440,9 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6089,6 +6461,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -6115,7 +6488,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -6147,7 +6520,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -6182,6 +6555,8 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6192,6 +6567,9 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6210,6 +6588,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -6242,12 +6621,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -6285,12 +6664,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -6325,6 +6704,8 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6335,6 +6716,9 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6401,6 +6785,7 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -6422,7 +6807,7 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -6449,7 +6834,7 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -6484,6 +6869,8 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6494,6 +6881,9 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6512,6 +6902,7 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -6539,12 +6930,12 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -6577,12 +6968,12 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -6617,6 +7008,8 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6627,6 +7020,9 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6645,6 +7041,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -6671,7 +7068,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -6703,7 +7100,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -6738,6 +7135,8 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6748,6 +7147,9 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6766,6 +7168,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -6798,12 +7201,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -6841,12 +7244,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -6881,6 +7284,8 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6891,6 +7296,9 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6925,6 +7333,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -6946,7 +7355,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -6973,7 +7382,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -7008,6 +7417,8 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7018,6 +7429,9 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7036,6 +7450,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -7063,12 +7478,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -7101,12 +7516,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -7141,6 +7556,8 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7151,6 +7568,9 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7185,6 +7605,7 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7207,7 +7628,7 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_spr_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -7243,7 +7664,7 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_spr_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -7302,6 +7723,8 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7312,6 +7735,9 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7330,6 +7756,7 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7358,12 +7785,12 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_spr_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -7405,12 +7832,12 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_spr_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -7469,6 +7896,8 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7479,6 +7908,9 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7497,6 +7929,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7524,7 +7957,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_spr_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -7565,7 +7998,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_spr_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -7624,6 +8057,8 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7634,6 +8069,9 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7652,6 +8090,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7685,12 +8124,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_spr_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -7737,12 +8176,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_spr_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -7801,6 +8240,8 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7811,6 +8252,9 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7877,6 +8321,7 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -7899,7 +8344,7 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -7935,7 +8380,7 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -7994,6 +8439,8 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8004,6 +8451,9 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8022,6 +8472,7 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8050,12 +8501,12 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -8097,12 +8548,12 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -8161,6 +8612,8 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8171,6 +8624,9 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8189,6 +8645,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8216,7 +8673,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -8257,7 +8714,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -8316,6 +8773,8 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8326,6 +8785,9 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8344,6 +8806,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8377,12 +8840,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -8429,12 +8892,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -8493,6 +8956,8 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8503,6 +8968,9 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8537,6 +9005,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8559,7 +9028,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -8595,7 +9064,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -8654,6 +9123,8 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8664,6 +9135,9 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8682,6 +9156,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -8710,12 +9185,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -8757,12 +9232,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -8821,6 +9296,8 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8831,6 +9308,9 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8865,6 +9345,7 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -8881,7 +9362,7 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -8902,7 +9383,7 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -8936,6 +9417,8 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8946,6 +9429,9 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8964,6 +9450,7 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -8980,10 +9467,10 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -9004,10 +9491,10 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -9041,6 +9528,8 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9051,6 +9540,9 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9069,6 +9561,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9090,7 +9583,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -9116,7 +9609,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -9150,6 +9643,8 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9160,6 +9655,9 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9178,6 +9676,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9199,10 +9698,10 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -9228,10 +9727,10 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -9265,6 +9764,8 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9275,6 +9776,9 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9341,6 +9845,7 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9357,7 +9862,7 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -9378,7 +9883,7 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -9412,6 +9917,8 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9422,6 +9929,9 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9440,6 +9950,7 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9456,10 +9967,10 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -9480,10 +9991,10 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -9517,6 +10028,8 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9527,6 +10040,9 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9545,6 +10061,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9566,7 +10083,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -9592,7 +10109,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -9626,6 +10143,8 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9636,6 +10155,9 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9654,6 +10176,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9675,10 +10198,10 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -9704,10 +10227,10 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -9741,6 +10264,8 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9751,6 +10276,9 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9785,6 +10313,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9801,7 +10330,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -9822,7 +10351,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -9856,6 +10385,8 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9866,6 +10397,9 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9884,6 +10418,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -9900,10 +10435,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -9924,10 +10459,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -9961,6 +10496,8 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9971,6 +10508,9 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10005,6 +10545,7 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10022,7 +10563,7 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -10052,7 +10593,7 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -10110,6 +10651,8 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10120,6 +10663,9 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10138,6 +10684,7 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10155,10 +10702,10 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -10188,10 +10735,10 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -10249,6 +10796,8 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10259,6 +10808,9 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10277,6 +10829,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10299,7 +10852,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -10334,7 +10887,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -10392,6 +10945,8 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10402,6 +10957,9 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10420,6 +10978,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10442,10 +11001,10 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -10480,10 +11039,10 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -10541,6 +11100,8 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10551,6 +11112,9 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10617,6 +11181,7 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10634,7 +11199,7 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -10664,7 +11229,7 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -10722,6 +11287,8 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10732,6 +11299,9 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10750,6 +11320,7 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10767,10 +11338,10 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -10800,10 +11371,10 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -10861,6 +11432,8 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10871,6 +11444,9 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10889,6 +11465,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -10911,7 +11488,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -10946,7 +11523,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -11004,6 +11581,8 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11014,6 +11593,9 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11032,6 +11614,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11054,10 +11637,10 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -11092,10 +11675,10 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -11153,6 +11736,8 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11163,6 +11748,9 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11197,6 +11785,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11214,7 +11803,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -11244,7 +11833,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -11302,6 +11891,8 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11312,6 +11903,9 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11330,6 +11924,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -11347,10 +11942,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -11380,10 +11975,10 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -11441,6 +12036,8 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11451,6 +12048,9 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11485,6 +12085,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -11501,7 +12102,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -11523,7 +12124,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -11558,6 +12159,8 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11568,6 +12171,9 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11582,6 +12188,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -11598,7 +12205,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -11618,7 +12225,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -11639,7 +12246,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -11659,7 +12266,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -11697,6 +12304,8 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11707,6 +12316,9 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11721,6 +12333,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -11737,10 +12350,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -11762,10 +12375,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -11800,6 +12413,8 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11810,6 +12425,9 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11824,6 +12442,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -11840,10 +12459,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -11863,10 +12482,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -11887,10 +12506,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -11910,10 +12529,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -11951,6 +12570,8 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11961,6 +12582,9 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11975,6 +12599,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -11996,7 +12621,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -12023,7 +12648,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -12058,6 +12683,8 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12068,6 +12695,9 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12082,6 +12712,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -12103,7 +12734,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -12128,7 +12759,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -12154,7 +12785,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -12179,7 +12810,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -12217,6 +12848,8 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12227,6 +12860,9 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12241,6 +12877,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -12262,10 +12899,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -12292,10 +12929,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -12330,6 +12967,8 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12340,6 +12979,9 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12354,6 +12996,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -12375,10 +13018,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -12403,10 +13046,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -12432,10 +13075,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -12460,10 +13103,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -12501,6 +13144,8 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12511,6 +13156,9 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12573,6 +13221,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -12589,7 +13238,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -12611,7 +13260,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -12646,6 +13295,8 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12656,6 +13307,9 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12670,6 +13324,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -12686,7 +13341,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -12706,7 +13361,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -12727,7 +13382,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -12747,7 +13402,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -12785,6 +13440,8 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12795,6 +13452,9 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12809,6 +13469,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -12825,10 +13486,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -12850,10 +13511,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -12888,6 +13549,8 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12898,6 +13561,9 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12912,6 +13578,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -12928,10 +13595,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -12951,10 +13618,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -12975,10 +13642,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -12998,10 +13665,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -13039,6 +13706,8 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13049,6 +13718,9 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13063,6 +13735,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -13084,7 +13757,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -13111,7 +13784,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -13146,6 +13819,8 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13156,6 +13831,9 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13170,6 +13848,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -13191,7 +13870,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -13216,7 +13895,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -13242,7 +13921,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -13267,7 +13946,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -13305,6 +13984,8 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13315,6 +13996,9 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13329,6 +14013,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -13350,10 +14035,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -13380,10 +14065,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -13418,6 +14103,8 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13428,6 +14115,9 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13442,6 +14132,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -13463,10 +14154,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -13491,10 +14182,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -13520,10 +14211,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -13548,10 +14239,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -13589,6 +14280,8 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13599,6 +14292,9 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13629,6 +14325,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -13645,7 +14342,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -13662,7 +14359,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -13683,7 +14380,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -13700,7 +14397,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -13734,6 +14431,8 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13744,6 +14443,9 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13758,6 +14460,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -13774,7 +14477,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -13794,7 +14497,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -13815,7 +14518,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -13835,7 +14538,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -13873,6 +14576,8 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13883,6 +14588,9 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13897,6 +14605,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -13913,10 +14622,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -13933,10 +14642,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -13957,10 +14666,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -13977,10 +14686,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -14014,6 +14723,8 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14024,6 +14735,9 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14038,6 +14752,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -14054,10 +14769,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -14077,10 +14792,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -14101,10 +14816,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -14124,10 +14839,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -14165,6 +14880,8 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14175,6 +14892,9 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14205,6 +14925,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -14222,7 +14943,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -14253,7 +14974,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -14312,6 +15033,8 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14322,6 +15045,9 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14336,6 +15062,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -14353,7 +15080,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -14381,7 +15108,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -14403,7 +15130,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -14431,7 +15158,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -14487,6 +15214,8 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14497,6 +15226,9 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14511,6 +15243,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -14528,10 +15261,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -14562,10 +15295,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -14624,6 +15357,8 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14634,6 +15369,9 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14648,6 +15386,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -14665,10 +15404,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -14696,10 +15435,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -14721,10 +15460,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -14752,10 +15491,10 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -14811,6 +15550,8 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14821,6 +15562,9 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14835,6 +15579,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -14857,7 +15602,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -14893,7 +15638,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -14952,6 +15697,8 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14962,6 +15709,9 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14976,6 +15726,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -14998,7 +15749,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -15031,7 +15782,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -15058,7 +15809,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -15091,7 +15842,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -15147,6 +15898,8 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15157,6 +15910,9 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15171,6 +15927,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15193,10 +15950,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -15232,10 +15989,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -15294,6 +16051,8 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15304,6 +16063,9 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15318,6 +16080,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15340,10 +16103,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -15376,10 +16139,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -15406,10 +16169,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -15442,10 +16205,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -15501,6 +16264,8 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15511,6 +16276,9 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15573,6 +16341,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15590,7 +16359,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -15621,7 +16390,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -15680,6 +16449,8 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15690,6 +16461,9 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15704,6 +16478,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15721,7 +16496,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -15749,7 +16524,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -15771,7 +16546,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -15799,7 +16574,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -15855,6 +16630,8 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15865,6 +16642,9 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15879,6 +16659,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -15896,10 +16677,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -15930,10 +16711,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -15992,6 +16773,8 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16002,6 +16785,9 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16016,6 +16802,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16033,10 +16820,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -16064,10 +16851,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -16089,10 +16876,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -16120,10 +16907,10 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -16179,6 +16966,8 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16189,6 +16978,9 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16203,6 +16995,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16225,7 +17018,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -16261,7 +17054,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -16320,6 +17113,8 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16330,6 +17125,9 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16344,6 +17142,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16366,7 +17165,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -16399,7 +17198,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -16426,7 +17225,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -16459,7 +17258,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -16515,6 +17314,8 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16525,6 +17326,9 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16539,6 +17343,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16561,10 +17366,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -16600,10 +17405,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -16662,6 +17467,8 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16672,6 +17479,9 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16686,6 +17496,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16708,10 +17519,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -16744,10 +17555,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -16774,10 +17585,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -16810,10 +17621,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -16869,6 +17680,8 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16879,6 +17692,9 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16909,6 +17725,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -16926,7 +17743,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -16951,7 +17768,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -16973,7 +17790,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -16998,7 +17815,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -17048,6 +17865,8 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17058,6 +17877,9 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17072,6 +17894,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17089,7 +17912,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -17117,7 +17940,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -17139,7 +17962,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -17167,7 +17990,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -17223,6 +18046,8 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17233,6 +18058,9 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17247,6 +18075,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17264,10 +18093,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -17292,10 +18121,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -17317,10 +18146,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -17345,10 +18174,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -17398,6 +18227,8 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17408,6 +18239,9 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17422,6 +18256,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -17439,10 +18274,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -17470,10 +18305,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -17495,10 +18330,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -17526,10 +18361,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -17585,6 +18420,8 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17595,6 +18432,9 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17625,6 +18465,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -17646,7 +18487,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -17673,7 +18514,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -17700,7 +18541,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -17727,7 +18568,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -17784,6 +18625,8 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17794,6 +18637,9 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17812,6 +18658,7 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -17839,12 +18686,12 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -17877,12 +18724,12 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -17915,12 +18762,12 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -17953,12 +18800,12 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -18015,6 +18862,8 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18025,6 +18874,9 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18043,6 +18895,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -18069,7 +18922,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -18101,7 +18954,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -18133,7 +18986,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -18165,7 +19018,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -18222,6 +19075,8 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18232,6 +19087,9 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18250,6 +19108,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -18282,12 +19141,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -18325,12 +19184,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -18368,12 +19227,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -18411,12 +19270,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -18473,6 +19332,8 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18483,6 +19344,9 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18549,6 +19413,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -18570,7 +19435,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -18597,7 +19462,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -18624,7 +19489,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -18651,7 +19516,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -18708,6 +19573,8 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18718,6 +19585,9 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18736,6 +19606,7 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -18763,12 +19634,12 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -18801,12 +19672,12 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -18839,12 +19710,12 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -18877,12 +19748,12 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -18939,6 +19810,8 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18949,6 +19822,9 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18967,6 +19843,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -18993,7 +19870,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -19025,7 +19902,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -19057,7 +19934,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -19089,7 +19966,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -19146,6 +20023,8 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19156,6 +20035,9 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19174,6 +20056,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -19206,12 +20089,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -19249,12 +20132,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -19292,12 +20175,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -19335,12 +20218,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -19397,6 +20280,8 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19407,6 +20292,9 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19441,6 +20329,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -19462,7 +20351,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -19489,7 +20378,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -19516,7 +20405,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -19543,7 +20432,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -19600,6 +20489,8 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19610,6 +20501,9 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19628,6 +20522,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -19655,12 +20550,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -19693,12 +20588,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -19731,12 +20626,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -19769,12 +20664,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -19831,6 +20726,8 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19841,6 +20738,9 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19875,6 +20775,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -19897,7 +20798,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -19933,7 +20834,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -19969,7 +20870,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -20005,7 +20906,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -20102,6 +21003,8 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20112,6 +21015,9 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20130,6 +21036,7 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -20158,12 +21065,12 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -20205,12 +21112,12 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -20252,12 +21159,12 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -20299,12 +21206,12 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -20401,6 +21308,8 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20411,6 +21320,9 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20429,6 +21341,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -20456,7 +21369,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -20497,7 +21410,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -20538,7 +21451,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -20579,7 +21492,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -20676,6 +21589,8 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20686,6 +21601,9 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20704,6 +21622,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -20737,12 +21656,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -20789,12 +21708,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -20841,12 +21760,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -20893,12 +21812,12 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -20995,6 +21914,8 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21005,6 +21926,9 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21071,6 +21995,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -21093,7 +22018,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -21129,7 +22054,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -21165,7 +22090,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -21201,7 +22126,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -21298,6 +22223,8 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21308,6 +22235,9 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21326,6 +22256,7 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -21354,12 +22285,12 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -21401,12 +22332,12 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -21448,12 +22379,12 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -21495,12 +22426,12 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -21597,6 +22528,8 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21607,6 +22540,9 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21625,6 +22561,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -21652,7 +22589,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -21693,7 +22630,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -21734,7 +22671,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -21775,7 +22712,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -21872,6 +22809,8 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -21882,6 +22821,9 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -21900,6 +22842,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -21933,12 +22876,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -21985,12 +22928,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -22037,12 +22980,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -22089,12 +23032,12 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -22191,6 +23134,8 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22201,6 +23146,9 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22235,6 +23183,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -22257,7 +23206,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -22293,7 +23242,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -22329,7 +23278,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -22365,7 +23314,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -22462,6 +23411,8 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22472,6 +23423,9 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22490,6 +23444,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -22518,12 +23473,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -22565,12 +23520,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -22612,12 +23567,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -22659,12 +23614,12 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 255) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 255) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -22761,6 +23716,8 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22771,6 +23728,9 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22805,6 +23765,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -22826,7 +23787,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -22853,7 +23814,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -22880,7 +23841,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -22907,7 +23868,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -22964,6 +23925,8 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -22974,6 +23937,9 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -22992,6 +23958,7 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -23019,12 +23986,12 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -23057,12 +24024,12 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -23095,12 +24062,12 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -23133,12 +24100,12 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -23195,6 +24162,8 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23205,6 +24174,9 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23223,6 +24195,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -23249,7 +24222,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -23281,7 +24254,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -23313,7 +24286,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -23345,7 +24318,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -23402,6 +24375,8 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23412,6 +24387,9 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23430,6 +24408,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -23462,12 +24441,12 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -23505,12 +24484,12 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -23548,12 +24527,12 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -23591,12 +24570,12 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -23653,6 +24632,8 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23663,6 +24644,9 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23729,6 +24713,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -23750,7 +24735,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -23777,7 +24762,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -23804,7 +24789,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -23831,7 +24816,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -23888,6 +24873,8 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -23898,6 +24885,9 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -23916,6 +24906,7 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -23943,12 +24934,12 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -23981,12 +24972,12 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -24019,12 +25010,12 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -24057,12 +25048,12 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -24119,6 +25110,8 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24129,6 +25122,9 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24147,6 +25143,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -24173,7 +25170,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -24205,7 +25202,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -24237,7 +25234,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -24269,7 +25266,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -24326,6 +25323,8 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24336,6 +25335,9 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24354,6 +25356,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -24386,12 +25389,12 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -24429,12 +25432,12 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -24472,12 +25475,12 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -24515,12 +25518,12 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -24577,6 +25580,8 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24587,6 +25592,9 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24621,6 +25629,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -24642,7 +25651,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -24669,7 +25678,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -24696,7 +25705,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -24723,7 +25732,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -24780,6 +25789,8 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -24790,6 +25801,9 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -24808,6 +25822,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -24835,12 +25850,12 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -24873,12 +25888,12 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -24911,12 +25926,12 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -24949,12 +25964,12 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -25011,6 +26026,8 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25021,6 +26038,9 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25055,6 +26075,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -25077,7 +26098,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -25113,7 +26134,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -25149,7 +26170,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -25185,7 +26206,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -25282,6 +26303,8 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25292,6 +26315,9 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25310,6 +26336,7 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -25338,12 +26365,12 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -25385,12 +26412,12 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -25432,12 +26459,12 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -25479,12 +26506,12 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -25581,6 +26608,8 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25591,6 +26620,9 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25609,6 +26641,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -25636,7 +26669,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -25677,7 +26710,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -25718,7 +26751,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -25759,7 +26792,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr_genlock(void) shiftbpl4_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); @@ -25856,6 +26889,8 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -25866,6 +26901,9 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -25884,6 +26922,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -25917,12 +26956,12 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -25969,12 +27008,12 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -26021,12 +27060,12 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -26073,12 +27112,12 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr_genlock(void) shiftbpl4o_64(); loaded_pix = getbpl4_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl4_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl4_64(); @@ -26175,6 +27214,8 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26185,6 +27226,9 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26251,6 +27295,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -26273,7 +27318,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -26309,7 +27354,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -26345,7 +27390,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -26381,7 +27426,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -26478,6 +27523,8 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26488,6 +27535,9 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26506,6 +27556,7 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -26534,12 +27585,12 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -26581,12 +27632,12 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -26628,12 +27679,12 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -26675,12 +27726,12 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -26777,6 +27828,8 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -26787,6 +27840,9 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -26805,6 +27861,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -26832,7 +27889,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -26873,7 +27930,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -26914,7 +27971,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -26955,7 +28012,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -27052,6 +28109,8 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27062,6 +28121,9 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27080,6 +28142,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -27113,12 +28176,12 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -27165,12 +28228,12 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -27217,12 +28280,12 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -27269,12 +28332,12 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -27371,6 +28434,8 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27381,6 +28446,9 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27415,6 +28483,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -27437,7 +28506,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -27473,7 +28542,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -27509,7 +28578,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -27545,7 +28614,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr_genlock(void) shiftbpl8_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); @@ -27642,6 +28711,8 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27652,6 +28723,9 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27670,6 +28744,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -27698,12 +28773,12 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -27745,12 +28820,12 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -27792,12 +28867,12 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -27839,12 +28914,12 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr_genlock(void) shiftbpl8o_64(); loaded_pix = getbpl8_64(); } - if (bpldat_copy[0] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); bplshiftcnt[0] = 0; loaded_pix = getbpl8_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 127) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); bplshiftcnt[1] = 0; loaded_pix = getbpl8_64(); @@ -27941,6 +29016,8 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -27951,6 +29028,9 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -27985,6 +29065,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -28001,7 +29082,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -28022,7 +29103,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -28043,7 +29124,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -28064,7 +29145,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_genlock(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -28120,6 +29201,8 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28130,6 +29213,9 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28148,6 +29234,7 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -28164,10 +29251,10 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -28188,10 +29275,10 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -28212,10 +29299,10 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -28236,10 +29323,10 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_genlock(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -28295,6 +29382,8 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28305,6 +29394,9 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28323,6 +29415,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -28344,7 +29437,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -28370,7 +29463,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -28396,7 +29489,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -28422,7 +29515,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_genlock(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -28478,6 +29571,8 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28488,6 +29583,9 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28506,6 +29604,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -28527,10 +29626,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -28556,10 +29655,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -28585,10 +29684,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -28614,10 +29713,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_genlock(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -28673,6 +29772,8 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28683,6 +29784,9 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28749,6 +29853,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -28765,7 +29870,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -28786,7 +29891,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -28807,7 +29912,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -28828,7 +29933,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -28884,6 +29989,8 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -28894,6 +30001,9 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -28912,6 +30022,7 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -28928,10 +30039,10 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -28952,10 +30063,10 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -28976,10 +30087,10 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29000,10 +30111,10 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29059,6 +30170,8 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29069,6 +30182,9 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -29087,6 +30203,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -29108,7 +30225,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -29134,7 +30251,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -29160,7 +30277,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -29186,7 +30303,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -29242,6 +30359,8 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29252,6 +30371,9 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -29270,6 +30392,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -29291,10 +30414,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29320,10 +30443,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29349,10 +30472,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29378,10 +30501,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29437,6 +30560,8 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29447,6 +30572,9 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -29481,6 +30609,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -29497,7 +30626,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -29518,7 +30647,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -29539,7 +30668,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -29560,7 +30689,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -29616,6 +30745,8 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29626,6 +30757,9 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -29644,6 +30778,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; uae_u8 pix0 = 0; uae_u8 gpix0 = 0xff; @@ -29660,10 +30795,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29684,10 +30819,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29708,10 +30843,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29732,10 +30867,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -29791,6 +30926,8 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -29801,6 +30938,9 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -29835,6 +30975,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -29852,7 +30993,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -29882,7 +31023,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -29912,7 +31053,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -29942,7 +31083,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -30038,6 +31179,8 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30048,6 +31191,9 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30066,6 +31212,7 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -30083,10 +31230,10 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -30116,10 +31263,10 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -30149,10 +31296,10 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -30182,10 +31329,10 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -30281,6 +31428,8 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30291,6 +31440,9 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30309,6 +31461,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -30331,7 +31484,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -30366,7 +31519,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -30401,7 +31554,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -30436,7 +31589,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4_64(); } loaded_pix = getbpl4_64(); @@ -30532,6 +31685,8 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30542,6 +31697,9 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30560,6 +31718,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -30582,10 +31741,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -30620,10 +31779,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix1; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -30658,10 +31817,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -30696,10 +31855,10 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr_genlock(void) last_bpl_pix = pix3; } shiftbpl4_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl4e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl4o_64(); } loaded_pix = getbpl4_64(); @@ -30795,6 +31954,8 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -30805,6 +31966,9 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -30871,6 +32035,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -30888,7 +32053,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -30918,7 +32083,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -30948,7 +32113,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -30978,7 +32143,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -31074,6 +32239,8 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -31084,6 +32251,9 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -31102,6 +32272,7 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -31119,10 +32290,10 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -31152,10 +32323,10 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -31185,10 +32356,10 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -31218,10 +32389,10 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -31317,6 +32488,8 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -31327,6 +32500,9 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -31345,6 +32521,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -31367,7 +32544,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -31402,7 +32579,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -31437,7 +32614,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -31472,7 +32649,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -31568,6 +32745,8 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -31578,6 +32757,9 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -31596,6 +32778,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -31618,10 +32801,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -31656,10 +32839,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -31694,10 +32877,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -31732,10 +32915,10 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -31831,6 +33014,8 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -31841,6 +33026,9 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -31875,6 +33063,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -31892,7 +33081,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -31922,7 +33111,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -31952,7 +33141,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -31982,7 +33171,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8_64(); } loaded_pix = getbpl8_64(); @@ -32078,6 +33267,8 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -32088,6 +33279,9 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -32106,6 +33300,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr_genlock(void) } int cnt = denise_hcounter << 2; int cnt_next = denise_hcounter_next << 2; + int cmp = denise_hcounter_cmp << 2; if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue; matchsprites_aga(cnt + 0); uae_u8 pix0 = 0; @@ -32123,10 +33318,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix0; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -32156,10 +33351,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix1; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -32189,10 +33384,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix2; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -32222,10 +33417,10 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr_genlock(void) last_bpl_pix = pix3; } shiftbpl8_64(); - if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { + if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { copybpl8e_64(); } - if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) { + if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) { copybpl8o_64(); } loaded_pix = getbpl8_64(); @@ -32321,6 +33516,8 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -32331,6 +33528,9 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } diff --git a/linetoscr_ecs_shres.cpp b/linetoscr_ecs_shres.cpp index 5b5495e7..988a354c 100644 --- a/linetoscr_ecs_shres.cpp +++ b/linetoscr_ecs_shres.cpp @@ -92,7 +92,7 @@ static void lts_ecs_shres_dhires(void) shiftbpl2(); shiftbpl2(); } - if (bpldat_copy[0] && (denise_hcounter & 3) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 3) == bplcon1_shift[0]) { copybpl2(); } internal_pixel_cnt += 4; @@ -100,6 +100,8 @@ static void lts_ecs_shres_dhires(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -110,6 +112,9 @@ static void lts_ecs_shres_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -203,7 +208,7 @@ static void lts_ecs_shres_dhires_filtered(void) shiftbpl2(); shiftbpl2(); } - if (bpldat_copy[0] && (denise_hcounter & 3) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 3) == bplcon1_shift[0]) { copybpl2(); } internal_pixel_cnt += 4; @@ -211,6 +216,8 @@ static void lts_ecs_shres_dhires_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -221,6 +228,9 @@ static void lts_ecs_shres_dhires_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -326,7 +336,7 @@ static void lts_ecs_shres_dshres(void) shiftbpl2(); shiftbpl2(); } - if (bpldat_copy[0] && (denise_hcounter & 3) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 3) == bplcon1_shift[0]) { copybpl2(); } internal_pixel_cnt += 4; @@ -334,6 +344,8 @@ static void lts_ecs_shres_dshres(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -344,6 +356,9 @@ static void lts_ecs_shres_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -450,7 +465,7 @@ static void lts_ecs_shres_dhires_genlock(void) shiftbpl2(); shiftbpl2(); } - if (bpldat_copy[0] && (denise_hcounter & 3) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 3) == bplcon1_shift[0]) { copybpl2(); } internal_pixel_cnt += 4; @@ -458,6 +473,8 @@ static void lts_ecs_shres_dhires_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -468,6 +485,9 @@ static void lts_ecs_shres_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -569,7 +589,7 @@ static void lts_ecs_shres_dhires_genlock_filtered(void) shiftbpl2(); shiftbpl2(); } - if (bpldat_copy[0] && (denise_hcounter & 3) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 3) == bplcon1_shift[0]) { copybpl2(); } internal_pixel_cnt += 4; @@ -577,6 +597,8 @@ static void lts_ecs_shres_dhires_genlock_filtered(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -587,6 +609,9 @@ static void lts_ecs_shres_dhires_genlock_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -700,7 +725,7 @@ static void lts_ecs_shres_dshres_genlock(void) shiftbpl2(); shiftbpl2(); } - if (bpldat_copy[0] && (denise_hcounter & 3) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 3) == bplcon1_shift[0]) { copybpl2(); } internal_pixel_cnt += 4; @@ -708,6 +733,8 @@ static void lts_ecs_shres_dshres_genlock(void) #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -718,6 +745,9 @@ static void lts_ecs_shres_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } diff --git a/linetoscr_ocs_ecs.cpp b/linetoscr_ocs_ecs.cpp index 9b2a7faf..a585e9b1 100644 --- a/linetoscr_ocs_ecs.cpp +++ b/linetoscr_ocs_ecs.cpp @@ -41,13 +41,15 @@ static void lts_ecs_fm0_n0_p2_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -58,6 +60,9 @@ static void lts_ecs_fm0_n0_p2_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -102,16 +107,18 @@ static void lts_ecs_fm0_n1_p2_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -122,6 +129,9 @@ static void lts_ecs_fm0_n1_p2_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -167,13 +177,15 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -184,6 +196,9 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -229,16 +244,18 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -249,6 +266,9 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -325,13 +345,15 @@ static void lts_ecs_fm0_n0_p4_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -342,6 +364,9 @@ static void lts_ecs_fm0_n0_p4_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -386,16 +411,18 @@ static void lts_ecs_fm0_n1_p4_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -406,6 +433,9 @@ static void lts_ecs_fm0_n1_p4_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -451,13 +481,15 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -468,6 +500,9 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -513,16 +548,18 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -533,6 +570,9 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -612,13 +652,15 @@ static void lts_ecs_fm0_n0_p5_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -629,6 +671,9 @@ static void lts_ecs_fm0_n0_p5_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -676,16 +721,18 @@ static void lts_ecs_fm0_n1_p5_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -696,6 +743,9 @@ static void lts_ecs_fm0_n1_p5_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -744,13 +794,15 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -761,6 +813,9 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -809,16 +864,18 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -829,6 +886,9 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -892,13 +952,15 @@ static void lts_ecs_fm0_ham0_p5_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -909,6 +971,9 @@ static void lts_ecs_fm0_ham0_p5_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -956,16 +1021,18 @@ static void lts_ecs_fm0_ham1_p5_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -976,6 +1043,9 @@ static void lts_ecs_fm0_ham1_p5_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1023,13 +1093,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1040,6 +1112,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1087,16 +1162,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1107,6 +1184,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1155,13 +1235,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1172,6 +1254,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1220,16 +1305,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1240,6 +1327,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1292,13 +1382,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1309,6 +1401,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1361,16 +1456,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1381,6 +1478,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1428,13 +1528,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1445,6 +1547,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1492,16 +1597,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1512,6 +1619,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1571,13 +1681,15 @@ static void lts_ecs_fm0_n0_p2_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1588,6 +1700,9 @@ static void lts_ecs_fm0_n0_p2_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1647,16 +1762,18 @@ static void lts_ecs_fm0_n1_p2_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1667,6 +1784,9 @@ static void lts_ecs_fm0_n1_p2_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1727,13 +1847,15 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1744,6 +1866,9 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1804,16 +1929,18 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1824,6 +1951,9 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1915,13 +2045,15 @@ static void lts_ecs_fm0_n0_p4_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1932,6 +2064,9 @@ static void lts_ecs_fm0_n0_p4_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1991,16 +2126,18 @@ static void lts_ecs_fm0_n1_p4_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2011,6 +2148,9 @@ static void lts_ecs_fm0_n1_p4_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2071,13 +2211,15 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2088,6 +2230,9 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2148,16 +2293,18 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2168,6 +2315,9 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2262,13 +2412,15 @@ static void lts_ecs_fm0_n0_p5_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2279,6 +2431,9 @@ static void lts_ecs_fm0_n0_p5_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2341,16 +2496,18 @@ static void lts_ecs_fm0_n1_p5_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2361,6 +2518,9 @@ static void lts_ecs_fm0_n1_p5_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2424,13 +2584,15 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2441,6 +2603,9 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2504,16 +2669,18 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2524,6 +2691,9 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2602,13 +2772,15 @@ static void lts_ecs_fm0_ham0_p5_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2619,6 +2791,9 @@ static void lts_ecs_fm0_ham0_p5_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2681,16 +2856,18 @@ static void lts_ecs_fm0_ham1_p5_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2701,6 +2878,9 @@ static void lts_ecs_fm0_ham1_p5_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2763,13 +2943,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2780,6 +2962,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2842,16 +3027,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2862,6 +3049,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2925,13 +3115,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2942,6 +3134,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3005,16 +3200,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3025,6 +3222,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3092,13 +3292,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3109,6 +3311,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3176,16 +3381,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3196,6 +3403,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3258,13 +3468,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3275,6 +3487,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3337,16 +3552,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3357,6 +3574,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3414,13 +3634,15 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3431,6 +3653,9 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3485,13 +3710,15 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3502,6 +3729,9 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3555,16 +3785,18 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3575,6 +3807,9 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3629,16 +3864,18 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3649,6 +3886,9 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3704,13 +3944,15 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3721,6 +3963,9 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3777,13 +4022,15 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3794,6 +4041,9 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3849,16 +4099,18 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3869,6 +4121,9 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3925,16 +4180,18 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3945,6 +4202,9 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4030,13 +4290,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4047,6 +4309,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4101,13 +4366,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4118,6 +4385,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4171,16 +4441,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4191,6 +4463,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4245,16 +4520,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4265,6 +4542,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4320,13 +4600,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4337,6 +4619,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4393,13 +4678,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4410,6 +4697,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4465,16 +4755,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4485,6 +4777,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4541,16 +4836,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4561,6 +4858,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4789,13 +5089,15 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4806,6 +5108,9 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4876,13 +5181,15 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_spr_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4893,6 +5200,9 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4961,16 +5271,18 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4981,6 +5293,9 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5051,16 +5366,18 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_spr_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5071,6 +5388,9 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5141,13 +5461,15 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5158,6 +5480,9 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5230,13 +5555,15 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_spr_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5247,6 +5574,9 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5317,16 +5647,18 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5337,6 +5669,9 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5409,16 +5744,18 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_spr_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5429,6 +5766,9 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5529,13 +5869,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5546,6 +5888,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5616,13 +5961,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5633,6 +5980,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5701,16 +6051,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5721,6 +6073,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5791,16 +6146,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5811,6 +6168,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5881,13 +6241,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5898,6 +6260,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5970,13 +6335,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5987,6 +6354,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6057,16 +6427,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6077,6 +6449,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6149,16 +6524,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6169,6 +6546,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6383,13 +6763,15 @@ static void lts_ecs_fm0_n0_p2_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6400,6 +6782,9 @@ static void lts_ecs_fm0_n0_p2_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6458,16 +6843,18 @@ static void lts_ecs_fm0_n1_p2_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6478,6 +6865,9 @@ static void lts_ecs_fm0_n1_p2_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6537,13 +6927,15 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6554,6 +6946,9 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6613,16 +7008,18 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6633,6 +7030,9 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6723,13 +7123,15 @@ static void lts_ecs_fm0_n0_p4_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6740,6 +7142,9 @@ static void lts_ecs_fm0_n0_p4_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6798,16 +7203,18 @@ static void lts_ecs_fm0_n1_p4_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6818,6 +7225,9 @@ static void lts_ecs_fm0_n1_p4_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6877,13 +7287,15 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6894,6 +7306,9 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6953,16 +7368,18 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6973,6 +7390,9 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7066,13 +7486,15 @@ static void lts_ecs_fm0_n0_p5_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7083,6 +7505,9 @@ static void lts_ecs_fm0_n0_p5_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7144,16 +7569,18 @@ static void lts_ecs_fm0_n1_p5_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7164,6 +7591,9 @@ static void lts_ecs_fm0_n1_p5_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7226,13 +7656,15 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7243,6 +7675,9 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7305,16 +7740,18 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7325,6 +7762,9 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7402,13 +7842,15 @@ static void lts_ecs_fm0_ham0_p5_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7419,6 +7861,9 @@ static void lts_ecs_fm0_ham0_p5_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7480,16 +7925,18 @@ static void lts_ecs_fm0_ham1_p5_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7500,6 +7947,9 @@ static void lts_ecs_fm0_ham1_p5_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7561,13 +8011,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7578,6 +8030,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7639,16 +8094,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7659,6 +8116,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7721,13 +8181,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7738,6 +8200,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7800,16 +8265,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7820,6 +8287,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7886,13 +8356,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7903,6 +8375,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7969,16 +8444,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7989,6 +8466,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8050,13 +8530,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8067,6 +8549,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8128,16 +8613,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8148,6 +8635,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8222,13 +8712,15 @@ static void lts_ecs_fm0_n0_p2_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8239,6 +8731,9 @@ static void lts_ecs_fm0_n0_p2_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8313,16 +8808,18 @@ static void lts_ecs_fm0_n1_p2_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8333,6 +8830,9 @@ static void lts_ecs_fm0_n1_p2_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8408,13 +8908,15 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8425,6 +8927,9 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8500,16 +9005,18 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8520,6 +9027,9 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8626,13 +9136,15 @@ static void lts_ecs_fm0_n0_p4_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8643,6 +9155,9 @@ static void lts_ecs_fm0_n0_p4_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8717,16 +9232,18 @@ static void lts_ecs_fm0_n1_p4_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8737,6 +9254,9 @@ static void lts_ecs_fm0_n1_p4_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8812,13 +9332,15 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8829,6 +9351,9 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8904,16 +9429,18 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8924,6 +9451,9 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9033,13 +9563,15 @@ static void lts_ecs_fm0_n0_p5_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9050,6 +9582,9 @@ static void lts_ecs_fm0_n0_p5_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9127,16 +9662,18 @@ static void lts_ecs_fm0_n1_p5_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9147,6 +9684,9 @@ static void lts_ecs_fm0_n1_p5_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9225,13 +9765,15 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9242,6 +9784,9 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9320,16 +9865,18 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9340,6 +9887,9 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9433,13 +9983,15 @@ static void lts_ecs_fm0_ham0_p5_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9450,6 +10002,9 @@ static void lts_ecs_fm0_ham0_p5_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9527,16 +10082,18 @@ static void lts_ecs_fm0_ham1_p5_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9547,6 +10104,9 @@ static void lts_ecs_fm0_ham1_p5_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9624,13 +10184,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9641,6 +10203,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9718,16 +10283,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9738,6 +10305,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9816,13 +10386,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9833,6 +10405,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9911,16 +10486,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9931,6 +10508,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10013,13 +10593,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10030,6 +10612,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10112,16 +10697,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10132,6 +10719,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10209,13 +10799,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10226,6 +10818,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10303,16 +10898,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10323,6 +10920,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10391,13 +10991,15 @@ static void lts_ecs_fm0_n0_p2_ihires_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10408,6 +11010,9 @@ static void lts_ecs_fm0_n0_p2_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10476,16 +11081,18 @@ static void lts_ecs_fm0_n1_p2_ihires_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10496,6 +11103,9 @@ static void lts_ecs_fm0_n1_p2_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10566,13 +11176,15 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10583,6 +11195,9 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10653,16 +11268,18 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10673,6 +11290,9 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10773,13 +11393,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10790,6 +11412,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10858,16 +11483,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10878,6 +11505,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10948,13 +11578,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10965,6 +11597,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11035,16 +11670,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11055,6 +11692,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11305,13 +11945,15 @@ static void lts_ecs_fm0_n0_p2_ihires_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11322,6 +11964,9 @@ static void lts_ecs_fm0_n0_p2_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11412,16 +12057,18 @@ static void lts_ecs_fm0_n1_p2_ihires_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11432,6 +12079,9 @@ static void lts_ecs_fm0_n1_p2_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11524,13 +12174,15 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11541,6 +12193,9 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11633,16 +12288,18 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11653,6 +12310,9 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11775,13 +12435,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11792,6 +12454,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11882,16 +12547,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11902,6 +12569,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11994,13 +12664,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12011,6 +12683,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12103,16 +12778,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_spr(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12123,6 +12800,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12369,13 +13049,15 @@ static void lts_ecs_fm0_n0_p2_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12386,6 +13068,9 @@ static void lts_ecs_fm0_n0_p2_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12472,16 +13157,18 @@ static void lts_ecs_fm0_n1_p2_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12492,6 +13179,9 @@ static void lts_ecs_fm0_n1_p2_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12579,13 +13269,15 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12596,6 +13288,9 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12683,16 +13378,18 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12703,6 +13400,9 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12821,13 +13521,15 @@ static void lts_ecs_fm0_n0_p4_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12838,6 +13540,9 @@ static void lts_ecs_fm0_n0_p4_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12924,16 +13629,18 @@ static void lts_ecs_fm0_n1_p4_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12944,6 +13651,9 @@ static void lts_ecs_fm0_n1_p4_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13031,13 +13741,15 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13048,6 +13760,9 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13135,16 +13850,18 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13155,6 +13872,9 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13276,13 +13996,15 @@ static void lts_ecs_fm0_n0_p5_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13293,6 +14015,9 @@ static void lts_ecs_fm0_n0_p5_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13382,16 +14107,18 @@ static void lts_ecs_fm0_n1_p5_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13402,6 +14129,9 @@ static void lts_ecs_fm0_n1_p5_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13492,13 +14222,15 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13509,6 +14241,9 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13599,16 +14334,18 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13619,6 +14356,9 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13724,13 +14464,15 @@ static void lts_ecs_fm0_ham0_p5_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13741,6 +14483,9 @@ static void lts_ecs_fm0_ham0_p5_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13830,16 +14575,18 @@ static void lts_ecs_fm0_ham1_p5_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13850,6 +14597,9 @@ static void lts_ecs_fm0_ham1_p5_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13939,13 +14689,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13956,6 +14708,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14045,16 +14800,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14065,6 +14822,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14155,13 +14915,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14172,6 +14934,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14262,16 +15027,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14282,6 +15049,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14376,13 +15146,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14393,6 +15165,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14487,16 +15262,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14507,6 +15284,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14596,13 +15376,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14613,6 +15395,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14702,16 +15487,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14722,6 +15509,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14826,13 +15616,15 @@ static void lts_ecs_fm0_n0_p2_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14843,6 +15635,9 @@ static void lts_ecs_fm0_n0_p2_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14947,16 +15742,18 @@ static void lts_ecs_fm0_n1_p2_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14967,6 +15764,9 @@ static void lts_ecs_fm0_n1_p2_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15072,13 +15872,15 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15089,6 +15891,9 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15194,16 +15999,18 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15214,6 +16021,9 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15350,13 +16160,15 @@ static void lts_ecs_fm0_n0_p4_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15367,6 +16179,9 @@ static void lts_ecs_fm0_n0_p4_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15471,16 +16286,18 @@ static void lts_ecs_fm0_n1_p4_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15491,6 +16308,9 @@ static void lts_ecs_fm0_n1_p4_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15596,13 +16416,15 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15613,6 +16435,9 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15718,16 +16543,18 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15738,6 +16565,9 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15877,13 +16707,15 @@ static void lts_ecs_fm0_n0_p5_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15894,6 +16726,9 @@ static void lts_ecs_fm0_n0_p5_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16001,16 +16836,18 @@ static void lts_ecs_fm0_n1_p5_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16021,6 +16858,9 @@ static void lts_ecs_fm0_n1_p5_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16129,13 +16969,15 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16146,6 +16988,9 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16254,16 +17099,18 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16274,6 +17121,9 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16397,13 +17247,15 @@ static void lts_ecs_fm0_ham0_p5_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16414,6 +17266,9 @@ static void lts_ecs_fm0_ham0_p5_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16521,16 +17376,18 @@ static void lts_ecs_fm0_ham1_p5_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16541,6 +17398,9 @@ static void lts_ecs_fm0_ham1_p5_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16648,13 +17508,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16665,6 +17527,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16772,16 +17637,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16792,6 +17659,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16900,13 +17770,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16917,6 +17789,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17025,16 +17900,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17045,6 +17922,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17157,13 +18037,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17174,6 +18056,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17286,16 +18171,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17306,6 +18193,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17413,13 +18303,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17430,6 +18322,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17537,16 +18432,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17557,6 +18454,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17653,13 +18553,15 @@ static void lts_ecs_fm0_n0_p2_ihires_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17670,6 +18572,9 @@ static void lts_ecs_fm0_n0_p2_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17766,16 +18671,18 @@ static void lts_ecs_fm0_n1_p2_ihires_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17786,6 +18693,9 @@ static void lts_ecs_fm0_n1_p2_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17884,13 +18794,15 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17901,6 +18813,9 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17999,16 +18914,18 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18019,6 +18936,9 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18147,13 +19067,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18164,6 +19086,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18260,16 +19185,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18280,6 +19207,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18378,13 +19308,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18395,6 +19327,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18493,16 +19428,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18513,6 +19450,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18805,13 +19745,15 @@ static void lts_ecs_fm0_n0_p2_ihires_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18822,6 +19764,9 @@ static void lts_ecs_fm0_n0_p2_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18954,16 +19899,18 @@ static void lts_ecs_fm0_n1_p2_ihires_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18974,6 +19921,9 @@ static void lts_ecs_fm0_n1_p2_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19108,13 +20058,15 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19125,6 +20077,9 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19259,16 +20214,18 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19279,6 +20236,9 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19443,13 +20403,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19460,6 +20422,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19592,16 +20557,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19612,6 +20579,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19746,13 +20716,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19763,6 +20735,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19897,16 +20872,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_spr(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19917,6 +20894,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_spr(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } diff --git a/linetoscr_ocs_ecs_genlock.cpp b/linetoscr_ocs_ecs_genlock.cpp index 04812a4e..6b6a322b 100644 --- a/linetoscr_ocs_ecs_genlock.cpp +++ b/linetoscr_ocs_ecs_genlock.cpp @@ -48,13 +48,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -65,6 +67,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -116,16 +121,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -136,6 +143,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -188,13 +198,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -205,6 +217,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -257,16 +272,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -277,6 +294,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -333,13 +353,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -350,6 +372,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -406,16 +431,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -426,6 +453,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -477,13 +507,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -494,6 +526,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -545,16 +580,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -565,6 +602,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -633,13 +673,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_spr_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -650,6 +692,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -718,16 +763,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_spr_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -738,6 +785,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -807,13 +857,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_spr_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -824,6 +876,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -893,16 +948,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_spr_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -913,6 +970,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -986,13 +1046,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_spr_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1003,6 +1065,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1076,16 +1141,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_spr_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1096,6 +1163,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1164,13 +1234,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_spr_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1181,6 +1253,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1249,16 +1324,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_spr_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1269,6 +1346,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1333,13 +1413,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1350,6 +1432,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1412,13 +1497,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_filtered_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1429,6 +1516,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1489,16 +1579,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1509,6 +1601,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1571,16 +1666,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_filtered_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1591,6 +1688,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1653,13 +1753,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1670,6 +1772,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1734,13 +1839,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_filtered_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1751,6 +1858,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1813,16 +1923,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1833,6 +1945,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1897,16 +2012,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_filtered_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1917,6 +2034,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2026,13 +2146,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2043,6 +2165,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2123,13 +2248,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_filtered_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2140,6 +2267,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2217,16 +2347,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2237,6 +2369,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2317,16 +2452,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_filtered_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2337,6 +2474,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2416,13 +2556,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2433,6 +2575,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2515,13 +2660,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_filtered_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2532,6 +2679,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2611,16 +2761,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2631,6 +2783,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2713,16 +2868,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_filtered_genlock(void) *buf2++ = t0; *gbuf++ = gpix0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2733,6 +2890,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2828,13 +2988,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2845,6 +3007,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2912,16 +3077,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2932,6 +3099,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3000,13 +3170,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3017,6 +3189,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3085,16 +3260,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3105,6 +3282,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3177,13 +3357,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3194,6 +3376,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3266,16 +3451,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3286,6 +3473,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3353,13 +3543,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3370,6 +3562,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3437,16 +3632,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3457,6 +3654,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3542,13 +3742,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_spr_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3559,6 +3761,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3644,16 +3849,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_spr_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3664,6 +3871,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3750,13 +3960,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_spr_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3767,6 +3979,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3853,16 +4068,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_spr_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3873,6 +4090,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3963,13 +4183,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_spr_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3980,6 +4202,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4070,16 +4295,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_spr_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4090,6 +4317,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4175,13 +4405,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_spr_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4192,6 +4424,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4277,16 +4512,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_spr_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4297,6 +4534,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4373,13 +4613,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4390,6 +4632,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4466,16 +4711,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4486,6 +4733,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4564,13 +4814,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4581,6 +4833,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4659,16 +4914,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4679,6 +4936,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4813,13 +5073,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_spr_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4830,6 +5092,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4932,16 +5197,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_spr_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4952,6 +5219,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5056,13 +5326,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_spr_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5073,6 +5345,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5177,16 +5452,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_spr_genlock(void) *buf2++ = t1; *gbuf++ = gpix1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5197,6 +5474,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5328,13 +5608,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5345,6 +5627,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5444,16 +5729,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5464,6 +5751,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5564,13 +5854,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5581,6 +5873,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5681,16 +5976,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5701,6 +5998,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5805,13 +6105,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5822,6 +6124,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5926,16 +6231,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5946,6 +6253,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6045,13 +6355,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6062,6 +6374,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6161,16 +6476,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6181,6 +6498,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6300,13 +6620,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_spr_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6317,6 +6639,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6436,16 +6761,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_spr_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6456,6 +6783,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6576,13 +6906,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_spr_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6593,6 +6925,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6713,16 +7048,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_spr_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6733,6 +7070,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6857,13 +7197,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_spr_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6874,6 +7216,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6998,16 +7343,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_spr_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7018,6 +7365,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7137,13 +7487,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_spr_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7154,6 +7506,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7273,16 +7628,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_spr_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7293,6 +7650,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7401,13 +7761,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7418,6 +7780,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7526,16 +7891,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7546,6 +7913,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7656,13 +8026,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7673,6 +8045,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7783,16 +8158,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7803,6 +8180,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7987,13 +8367,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_spr_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8004,6 +8386,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8156,16 +8541,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_spr_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8176,6 +8563,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8330,13 +8720,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_spr_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8347,6 +8739,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8501,16 +8896,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_spr_genlock(void) *buf2++ = t3; *gbuf++ = gpix3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8521,6 +8918,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_spr_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } diff --git a/linetoscr_ocs_ecs_ntsc.cpp b/linetoscr_ocs_ecs_ntsc.cpp index fde7978f..6e24d7c9 100644 --- a/linetoscr_ocs_ecs_ntsc.cpp +++ b/linetoscr_ocs_ecs_ntsc.cpp @@ -42,13 +42,15 @@ static void lts_ecs_fm0_n0_p2_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -59,6 +61,9 @@ static void lts_ecs_fm0_n0_p2_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -104,16 +109,18 @@ static void lts_ecs_fm0_n1_p2_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -124,6 +131,9 @@ static void lts_ecs_fm0_n1_p2_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -170,13 +180,15 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -187,6 +199,9 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -233,16 +248,18 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -253,6 +270,9 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -330,13 +350,15 @@ static void lts_ecs_fm0_n0_p4_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -347,6 +369,9 @@ static void lts_ecs_fm0_n0_p4_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -392,16 +417,18 @@ static void lts_ecs_fm0_n1_p4_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -412,6 +439,9 @@ static void lts_ecs_fm0_n1_p4_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -458,13 +488,15 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -475,6 +507,9 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -521,16 +556,18 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -541,6 +578,9 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -621,13 +661,15 @@ static void lts_ecs_fm0_n0_p5_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -638,6 +680,9 @@ static void lts_ecs_fm0_n0_p5_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -686,16 +731,18 @@ static void lts_ecs_fm0_n1_p5_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -706,6 +753,9 @@ static void lts_ecs_fm0_n1_p5_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -755,13 +805,15 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -772,6 +824,9 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -821,16 +876,18 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -841,6 +898,9 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -905,13 +965,15 @@ static void lts_ecs_fm0_ham0_p5_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -922,6 +984,9 @@ static void lts_ecs_fm0_ham0_p5_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -970,16 +1035,18 @@ static void lts_ecs_fm0_ham1_p5_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -990,6 +1057,9 @@ static void lts_ecs_fm0_ham1_p5_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1038,13 +1108,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1055,6 +1127,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1103,16 +1178,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1123,6 +1200,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1172,13 +1252,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1189,6 +1271,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1238,16 +1323,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1258,6 +1345,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1311,13 +1401,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1328,6 +1420,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1381,16 +1476,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1401,6 +1498,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1449,13 +1549,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1466,6 +1568,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1514,16 +1619,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1534,6 +1641,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1594,13 +1704,15 @@ static void lts_ecs_fm0_n0_p2_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1611,6 +1723,9 @@ static void lts_ecs_fm0_n0_p2_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1671,16 +1786,18 @@ static void lts_ecs_fm0_n1_p2_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1691,6 +1808,9 @@ static void lts_ecs_fm0_n1_p2_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1752,13 +1872,15 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1769,6 +1891,9 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1830,16 +1955,18 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1850,6 +1977,9 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1942,13 +2072,15 @@ static void lts_ecs_fm0_n0_p4_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1959,6 +2091,9 @@ static void lts_ecs_fm0_n0_p4_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2019,16 +2154,18 @@ static void lts_ecs_fm0_n1_p4_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2039,6 +2176,9 @@ static void lts_ecs_fm0_n1_p4_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2100,13 +2240,15 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2117,6 +2259,9 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2178,16 +2323,18 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2198,6 +2345,9 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2293,13 +2443,15 @@ static void lts_ecs_fm0_n0_p5_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2310,6 +2462,9 @@ static void lts_ecs_fm0_n0_p5_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2373,16 +2528,18 @@ static void lts_ecs_fm0_n1_p5_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2393,6 +2550,9 @@ static void lts_ecs_fm0_n1_p5_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2457,13 +2617,15 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2474,6 +2636,9 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2538,16 +2703,18 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2558,6 +2725,9 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2637,13 +2807,15 @@ static void lts_ecs_fm0_ham0_p5_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2654,6 +2826,9 @@ static void lts_ecs_fm0_ham0_p5_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2717,16 +2892,18 @@ static void lts_ecs_fm0_ham1_p5_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2737,6 +2914,9 @@ static void lts_ecs_fm0_ham1_p5_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2800,13 +2980,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2817,6 +2999,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2880,16 +3065,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2900,6 +3087,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2964,13 +3154,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2981,6 +3173,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3045,16 +3240,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3065,6 +3262,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3133,13 +3333,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3150,6 +3352,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3218,16 +3423,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3238,6 +3445,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3301,13 +3511,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3318,6 +3530,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3381,16 +3596,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3401,6 +3618,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3459,13 +3679,15 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3476,6 +3698,9 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3531,13 +3756,15 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_ntsc_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3548,6 +3775,9 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_ntsc_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3602,16 +3832,18 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3622,6 +3854,9 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3677,16 +3912,18 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_ntsc_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3697,6 +3934,9 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_ntsc_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3753,13 +3993,15 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3770,6 +4012,9 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3827,13 +4072,15 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_ntsc_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3844,6 +4091,9 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_ntsc_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3900,16 +4150,18 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3920,6 +4172,9 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3977,16 +4232,18 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_ntsc_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3997,6 +4254,9 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_ntsc_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4083,13 +4343,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4100,6 +4362,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4155,13 +4420,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_ntsc_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4172,6 +4439,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_ntsc_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4226,16 +4496,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4246,6 +4518,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4301,16 +4576,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_ntsc_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4321,6 +4598,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_ntsc_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4377,13 +4657,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4394,6 +4676,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4451,13 +4736,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_ntsc_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4468,6 +4755,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_ntsc_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4524,16 +4814,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4544,6 +4836,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4601,16 +4896,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_ntsc_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4621,6 +4918,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_ntsc_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4850,13 +5150,15 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4867,6 +5169,9 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4938,13 +5243,15 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_spr_ntsc_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4955,6 +5262,9 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_spr_ntsc_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5024,16 +5334,18 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5044,6 +5356,9 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5115,16 +5430,18 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_spr_ntsc_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5135,6 +5452,9 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_spr_ntsc_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5206,13 +5526,15 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5223,6 +5545,9 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5296,13 +5621,15 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_spr_ntsc_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5313,6 +5640,9 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_spr_ntsc_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5384,16 +5714,18 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5404,6 +5736,9 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5477,16 +5812,18 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_spr_ntsc_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5497,6 +5834,9 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_spr_ntsc_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5598,13 +5938,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5615,6 +5957,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5686,13 +6031,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_ntsc_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5703,6 +6050,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_ntsc_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5772,16 +6122,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5792,6 +6144,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5863,16 +6218,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_ntsc_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5883,6 +6240,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_ntsc_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5954,13 +6314,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5971,6 +6333,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6044,13 +6409,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_ntsc_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6061,6 +6428,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_ntsc_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6132,16 +6502,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_ntsc(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6152,6 +6524,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6225,16 +6600,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_ntsc_filtered(void) *buf1++ = t0; *buf2++ = t0; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6245,6 +6622,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_ntsc_filtered(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6461,13 +6841,15 @@ static void lts_ecs_fm0_n0_p2_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6478,6 +6860,9 @@ static void lts_ecs_fm0_n0_p2_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6538,16 +6923,18 @@ static void lts_ecs_fm0_n1_p2_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6558,6 +6945,9 @@ static void lts_ecs_fm0_n1_p2_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6619,13 +7009,15 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6636,6 +7028,9 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6697,16 +7092,18 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6717,6 +7114,9 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6809,13 +7209,15 @@ static void lts_ecs_fm0_n0_p4_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6826,6 +7228,9 @@ static void lts_ecs_fm0_n0_p4_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6886,16 +7291,18 @@ static void lts_ecs_fm0_n1_p4_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6906,6 +7313,9 @@ static void lts_ecs_fm0_n1_p4_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6967,13 +7377,15 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6984,6 +7396,9 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7045,16 +7460,18 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7065,6 +7482,9 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7160,13 +7580,15 @@ static void lts_ecs_fm0_n0_p5_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7177,6 +7599,9 @@ static void lts_ecs_fm0_n0_p5_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7240,16 +7665,18 @@ static void lts_ecs_fm0_n1_p5_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7260,6 +7687,9 @@ static void lts_ecs_fm0_n1_p5_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7324,13 +7754,15 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7341,6 +7773,9 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7405,16 +7840,18 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7425,6 +7862,9 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7504,13 +7944,15 @@ static void lts_ecs_fm0_ham0_p5_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7521,6 +7963,9 @@ static void lts_ecs_fm0_ham0_p5_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7584,16 +8029,18 @@ static void lts_ecs_fm0_ham1_p5_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7604,6 +8051,9 @@ static void lts_ecs_fm0_ham1_p5_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7667,13 +8117,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7684,6 +8136,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7747,16 +8202,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7767,6 +8224,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7831,13 +8291,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7848,6 +8310,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7912,16 +8377,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7932,6 +8399,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8000,13 +8470,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8017,6 +8489,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8085,16 +8560,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8105,6 +8582,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8168,13 +8648,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8185,6 +8667,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8248,16 +8733,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8268,6 +8755,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8344,13 +8834,15 @@ static void lts_ecs_fm0_n0_p2_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8361,6 +8853,9 @@ static void lts_ecs_fm0_n0_p2_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8437,16 +8932,18 @@ static void lts_ecs_fm0_n1_p2_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8457,6 +8954,9 @@ static void lts_ecs_fm0_n1_p2_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8534,13 +9034,15 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8551,6 +9053,9 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8628,16 +9133,18 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8648,6 +9155,9 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8756,13 +9266,15 @@ static void lts_ecs_fm0_n0_p4_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8773,6 +9285,9 @@ static void lts_ecs_fm0_n0_p4_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8849,16 +9364,18 @@ static void lts_ecs_fm0_n1_p4_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8869,6 +9386,9 @@ static void lts_ecs_fm0_n1_p4_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8946,13 +9466,15 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8963,6 +9485,9 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9040,16 +9565,18 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9060,6 +9587,9 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9171,13 +9701,15 @@ static void lts_ecs_fm0_n0_p5_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9188,6 +9720,9 @@ static void lts_ecs_fm0_n0_p5_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9267,16 +9802,18 @@ static void lts_ecs_fm0_n1_p5_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9287,6 +9824,9 @@ static void lts_ecs_fm0_n1_p5_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9367,13 +9907,15 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9384,6 +9926,9 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9464,16 +10009,18 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9484,6 +10031,9 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9579,13 +10129,15 @@ static void lts_ecs_fm0_ham0_p5_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9596,6 +10148,9 @@ static void lts_ecs_fm0_ham0_p5_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9675,16 +10230,18 @@ static void lts_ecs_fm0_ham1_p5_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9695,6 +10252,9 @@ static void lts_ecs_fm0_ham1_p5_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9774,13 +10334,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9791,6 +10353,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9870,16 +10435,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9890,6 +10457,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -9970,13 +10540,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -9987,6 +10559,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10067,16 +10642,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10087,6 +10664,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10171,13 +10751,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10188,6 +10770,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10272,16 +10857,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10292,6 +10879,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10371,13 +10961,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10388,6 +10980,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10467,16 +11062,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10487,6 +11084,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10557,13 +11157,15 @@ static void lts_ecs_fm0_n0_p2_ihires_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10574,6 +11176,9 @@ static void lts_ecs_fm0_n0_p2_ihires_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10644,16 +11249,18 @@ static void lts_ecs_fm0_n1_p2_ihires_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10664,6 +11271,9 @@ static void lts_ecs_fm0_n1_p2_ihires_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10736,13 +11346,15 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10753,6 +11365,9 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10825,16 +11440,18 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10845,6 +11462,9 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -10947,13 +11567,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -10964,6 +11586,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11034,16 +11659,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11054,6 +11681,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11126,13 +11756,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11143,6 +11775,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11215,16 +11850,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11235,6 +11872,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11487,13 +12127,15 @@ static void lts_ecs_fm0_n0_p2_ihires_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11504,6 +12146,9 @@ static void lts_ecs_fm0_n0_p2_ihires_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11596,16 +12241,18 @@ static void lts_ecs_fm0_n1_p2_ihires_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11616,6 +12263,9 @@ static void lts_ecs_fm0_n1_p2_ihires_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11710,13 +12360,15 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11727,6 +12379,9 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11821,16 +12476,18 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11841,6 +12498,9 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -11965,13 +12625,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -11982,6 +12644,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12074,16 +12739,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12094,6 +12761,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12188,13 +12858,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12205,6 +12877,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12299,16 +12974,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_spr_ntsc(void) *buf1++ = t1; *buf2++ = t1; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12319,6 +12996,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12569,13 +13249,15 @@ static void lts_ecs_fm0_n0_p2_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12586,6 +13268,9 @@ static void lts_ecs_fm0_n0_p2_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12676,16 +13361,18 @@ static void lts_ecs_fm0_n1_p2_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12696,6 +13383,9 @@ static void lts_ecs_fm0_n1_p2_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12787,13 +13477,15 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12804,6 +13496,9 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -12895,16 +13590,18 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -12915,6 +13612,9 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13037,13 +13737,15 @@ static void lts_ecs_fm0_n0_p4_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13054,6 +13756,9 @@ static void lts_ecs_fm0_n0_p4_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13144,16 +13849,18 @@ static void lts_ecs_fm0_n1_p4_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13164,6 +13871,9 @@ static void lts_ecs_fm0_n1_p4_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13255,13 +13965,15 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13272,6 +13984,9 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13363,16 +14078,18 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13383,6 +14100,9 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13508,13 +14228,15 @@ static void lts_ecs_fm0_n0_p5_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13525,6 +14247,9 @@ static void lts_ecs_fm0_n0_p5_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13618,16 +14343,18 @@ static void lts_ecs_fm0_n1_p5_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13638,6 +14365,9 @@ static void lts_ecs_fm0_n1_p5_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13732,13 +14462,15 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13749,6 +14481,9 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13843,16 +14578,18 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13863,6 +14600,9 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -13972,13 +14712,15 @@ static void lts_ecs_fm0_ham0_p5_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -13989,6 +14731,9 @@ static void lts_ecs_fm0_ham0_p5_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14082,16 +14827,18 @@ static void lts_ecs_fm0_ham1_p5_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14102,6 +14849,9 @@ static void lts_ecs_fm0_ham1_p5_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14195,13 +14945,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14212,6 +14964,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14305,16 +15060,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14325,6 +15082,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14419,13 +15179,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14436,6 +15198,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14530,16 +15295,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14550,6 +15317,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14648,13 +15418,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14665,6 +15437,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14763,16 +15538,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14783,6 +15560,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14876,13 +15656,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -14893,6 +15675,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -14986,16 +15771,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15006,6 +15793,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15114,13 +15904,15 @@ static void lts_ecs_fm0_n0_p2_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15131,6 +15923,9 @@ static void lts_ecs_fm0_n0_p2_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15239,16 +16034,18 @@ static void lts_ecs_fm0_n1_p2_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15259,6 +16056,9 @@ static void lts_ecs_fm0_n1_p2_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15368,13 +16168,15 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15385,6 +16187,9 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15494,16 +16299,18 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15514,6 +16321,9 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15654,13 +16464,15 @@ static void lts_ecs_fm0_n0_p4_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15671,6 +16483,9 @@ static void lts_ecs_fm0_n0_p4_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15779,16 +16594,18 @@ static void lts_ecs_fm0_n1_p4_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15799,6 +16616,9 @@ static void lts_ecs_fm0_n1_p4_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -15908,13 +16728,15 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -15925,6 +16747,9 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16034,16 +16859,18 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16054,6 +16881,9 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16197,13 +17027,15 @@ static void lts_ecs_fm0_n0_p5_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16214,6 +17046,9 @@ static void lts_ecs_fm0_n0_p5_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16325,16 +17160,18 @@ static void lts_ecs_fm0_n1_p5_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16345,6 +17182,9 @@ static void lts_ecs_fm0_n1_p5_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16457,13 +17297,15 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16474,6 +17316,9 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16586,16 +17431,18 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16606,6 +17453,9 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16733,13 +17583,15 @@ static void lts_ecs_fm0_ham0_p5_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16750,6 +17602,9 @@ static void lts_ecs_fm0_ham0_p5_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16861,16 +17716,18 @@ static void lts_ecs_fm0_ham1_p5_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl5e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl5o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -16881,6 +17738,9 @@ static void lts_ecs_fm0_ham1_p5_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -16992,13 +17852,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17009,6 +17871,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17120,16 +17985,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17140,6 +18007,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17252,13 +18122,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17269,6 +18141,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17381,16 +18256,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17401,6 +18278,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17517,13 +18397,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17534,6 +18416,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17650,16 +18535,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17670,6 +18557,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17781,13 +18671,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17798,6 +18690,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -17909,16 +18804,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -17929,6 +18826,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18029,13 +18929,15 @@ static void lts_ecs_fm0_n0_p2_ihires_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18046,6 +18948,9 @@ static void lts_ecs_fm0_n0_p2_ihires_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18146,16 +19051,18 @@ static void lts_ecs_fm0_n1_p2_ihires_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18166,6 +19073,9 @@ static void lts_ecs_fm0_n1_p2_ihires_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18268,13 +19178,15 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18285,6 +19197,9 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18387,16 +19302,18 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18407,6 +19324,9 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18539,13 +19459,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18556,6 +19478,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18656,16 +19581,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18676,6 +19603,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18778,13 +19708,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18795,6 +19727,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -18897,16 +19832,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -18917,6 +19854,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19213,13 +20153,15 @@ static void lts_ecs_fm0_n0_p2_ihires_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19230,6 +20172,9 @@ static void lts_ecs_fm0_n0_p2_ihires_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19366,16 +20311,18 @@ static void lts_ecs_fm0_n1_p2_ihires_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19386,6 +20333,9 @@ static void lts_ecs_fm0_n1_p2_ihires_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19524,13 +20474,15 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19541,6 +20493,9 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19679,16 +20634,18 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl2e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl2o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19699,6 +20656,9 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -19867,13 +20827,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -19884,6 +20846,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20020,16 +20985,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20040,6 +21007,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20178,13 +21148,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20195,6 +21167,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -20333,16 +21308,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_spr_ntsc(void) *buf1++ = t3; *buf2++ = t3; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -20353,6 +21330,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_spr_ntsc(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } diff --git a/linetoscr_ocs_ecs_ntsc_genlock.cpp b/linetoscr_ocs_ecs_ntsc_genlock.cpp index 9c878429..1de091bc 100644 --- a/linetoscr_ocs_ecs_ntsc_genlock.cpp +++ b/linetoscr_ocs_ecs_ntsc_genlock.cpp @@ -50,13 +50,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -67,6 +69,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -120,16 +125,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -140,6 +147,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -194,13 +204,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -211,6 +223,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -265,16 +280,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -285,6 +302,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -343,13 +363,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -360,6 +382,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -418,16 +443,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -438,6 +465,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -491,13 +521,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -508,6 +540,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -561,16 +596,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -581,6 +618,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -651,13 +691,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_spr_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -668,6 +710,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -738,16 +783,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_spr_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -758,6 +805,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -829,13 +879,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_spr_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -846,6 +898,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -917,16 +972,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_spr_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -937,6 +994,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1012,13 +1072,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_spr_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1029,6 +1091,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1104,16 +1169,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_spr_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1124,6 +1191,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1194,13 +1264,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_spr_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1211,6 +1283,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1281,16 +1356,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_spr_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1301,6 +1378,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1367,13 +1447,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1384,6 +1466,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1448,13 +1533,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_ntsc_filtered_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1465,6 +1552,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_ntsc_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1527,16 +1617,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1547,6 +1639,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1611,16 +1706,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_ntsc_filtered_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1631,6 +1728,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_ntsc_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1695,13 +1795,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1712,6 +1814,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1778,13 +1883,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_ntsc_filtered_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1795,6 +1902,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_ntsc_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1859,16 +1969,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1879,6 +1991,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -1945,16 +2060,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_ntsc_filtered_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -1965,6 +2082,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_ntsc_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2076,13 +2196,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2093,6 +2215,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2175,13 +2300,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_ntsc_filtered_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2192,6 +2319,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_ntsc_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2271,16 +2401,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2291,6 +2423,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2373,16 +2508,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_ntsc_filtered_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2393,6 +2530,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_ntsc_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2474,13 +2614,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2491,6 +2633,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2575,13 +2720,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_ntsc_filtered_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2592,6 +2739,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_ntsc_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2673,16 +2823,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_ntsc_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2693,6 +2845,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2777,16 +2932,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_ntsc_filtered_genlock(void) *buf2++ = t0; *gbuf++ = dtgbuf[h ^ lol][0]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2797,6 +2954,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_ntsc_filtered_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2896,13 +3056,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -2913,6 +3075,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -2984,16 +3149,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3004,6 +3171,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3076,13 +3246,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3093,6 +3265,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3165,16 +3340,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3185,6 +3362,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3261,13 +3441,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3278,6 +3460,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3354,16 +3539,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3374,6 +3561,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3445,13 +3635,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3462,6 +3654,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3533,16 +3728,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3553,6 +3750,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3642,13 +3842,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_spr_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3659,6 +3861,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3748,16 +3953,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_spr_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3768,6 +3975,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3858,13 +4068,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_spr_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3875,6 +4087,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -3965,16 +4180,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_spr_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -3985,6 +4202,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4079,13 +4299,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_spr_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4096,6 +4318,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4190,16 +4415,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_spr_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4210,6 +4437,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4299,13 +4529,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_spr_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4316,6 +4548,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4405,16 +4640,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_spr_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4425,6 +4662,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4505,13 +4745,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4522,6 +4764,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4602,16 +4847,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4622,6 +4869,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4704,13 +4954,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4721,6 +4973,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4803,16 +5058,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4823,6 +5080,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -4961,13 +5221,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_spr_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -4978,6 +5240,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5084,16 +5349,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_spr_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5104,6 +5371,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5212,13 +5482,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_spr_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5229,6 +5501,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5337,16 +5612,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_spr_ntsc_genlock(void) *buf2++ = t1; *gbuf++ = dtgbuf[h ^ lol][1]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5357,6 +5634,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5496,13 +5776,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5513,6 +5795,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5620,16 +5905,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5640,6 +5927,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5748,13 +6038,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5765,6 +6057,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -5873,16 +6168,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -5893,6 +6190,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6005,13 +6305,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6022,6 +6324,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6134,16 +6439,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6154,6 +6461,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6261,13 +6571,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6278,6 +6590,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6385,16 +6700,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6405,6 +6722,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6532,13 +6852,15 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_spr_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6549,6 +6871,9 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6676,16 +7001,18 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_spr_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6696,6 +7023,9 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6824,13 +7154,15 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_spr_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6841,6 +7173,9 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -6969,16 +7304,18 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_spr_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -6989,6 +7326,9 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7121,13 +7461,15 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_spr_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7138,6 +7480,9 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7270,16 +7615,18 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_spr_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7290,6 +7637,9 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7417,13 +7767,15 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_spr_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7434,6 +7786,9 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7561,16 +7916,18 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_spr_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 15) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 15) == bplcon1_shift[0]) { copybpl6e(); } - if (bpldat_copy[1] && (denise_hcounter & 15) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 15) == bplcon1_shift[1]) { copybpl6o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7581,6 +7938,9 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7697,13 +8057,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7714,6 +8076,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7830,16 +8195,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7850,6 +8217,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -7968,13 +8338,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -7985,6 +8357,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8103,16 +8478,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8123,6 +8500,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8315,13 +8695,15 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_spr_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8332,6 +8714,9 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8492,16 +8877,18 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_spr_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8512,6 +8899,9 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8674,13 +9064,15 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_spr_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8691,6 +9083,9 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } @@ -8853,16 +9248,18 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_spr_ntsc_genlock(void) *buf2++ = t3; *gbuf++ = dtgbuf[h ^ lol][3]; } - if (bpldat_copy[0] && (denise_hcounter & 7) == bplcon1_shift[0]) { + if (bpldat_copy[0] && (denise_hcounter_cmp & 7) == bplcon1_shift[0]) { copybpl4e(); } - if (bpldat_copy[1] && (denise_hcounter & 7) == bplcon1_shift[1]) { + if (bpldat_copy[1] && (denise_hcounter_cmp & 7) == bplcon1_shift[1]) { copybpl4o(); } sprites_hidden = sprites_hidden2; #ifdef DEBUGGER *debug_dma_dhpos_odd = denise_hcounter; #endif + denise_hcounter_cmp++; + denise_hcounter_cmp &= 511; denise_hcounter++; denise_hcounter &= 511; denise_hcounter_next++; @@ -8873,6 +9270,9 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_spr_ntsc_genlock(void) internal_pixel_start_cnt = internal_pixel_cnt; } denise_hcounter = denise_hcounter_new; + if (denise_accurate_mode) { + denise_hcounter_cmp = denise_hcounter_new; + } denise_cck++; } } -- 2.47.3