]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Removed superhires on host lores support.
authorToni Wilen <twilen@winuae.net>
Mon, 31 Mar 2025 14:56:12 +0000 (17:56 +0300)
committerToni Wilen <twilen@winuae.net>
Mon, 31 Mar 2025 14:56:12 +0000 (17:56 +0300)
12 files changed:
drawing.cpp
genlinetoscr.cpp
linetoscr_aga_fast.cpp
linetoscr_aga_fm0.cpp
linetoscr_aga_fm1.cpp
linetoscr_aga_fm1_genlock.cpp
linetoscr_aga_fm2.cpp
linetoscr_aga_fm2_genlock.cpp
linetoscr_aga_genlock_fast.cpp
linetoscr_ecs_fast.cpp
linetoscr_ecs_genlock_fast.cpp
linetoscr_ecs_shres.cpp

index ecd2b808c95936aad28f043277feca6c8e86ec0b..3f8d4a8ba1a3b9e9b31c94d0a9b02ff88c136ec1 100644 (file)
@@ -5581,11 +5581,15 @@ static void select_lts(void)
 
        } else if (ecs_denise && denise_res == RES_SUPERHIRES) {
 
-               int idx = hresolution;
-               if (need_genlock_data) {
-                       lts = linetoscr_ecs_shres_genlock_funcs[idx];
+               if (hresolution == RES_LORES) {
+                       lts = lts_null;
                } else {
-                       lts = linetoscr_ecs_shres_funcs[idx];
+                       int idx = hresolution - 1;
+                       if (need_genlock_data) {
+                               lts = linetoscr_ecs_shres_genlock_funcs[idx];
+                       } else {
+                               lts = linetoscr_ecs_shres_funcs[idx];
+                       }
                }
 
        } else {
index a487a536a12e226a064ca5affa7efb9a0f4b7461..56950f233a517d2b0142755f9a9fab1597626bcd 100644 (file)
@@ -809,6 +809,7 @@ static void gen_init(void)
 static bool gen_head(void)
 {
        char funcname[200];
+
        sprintf(funcname, "lts_%s_%s_%s%d_p%d_i%s_d%s%s%s%s",
                aga ? "aga" : "ecs",
                bplfmode == 0 ? "fm0" : (bplfmode == 1 ? "fm1" : "fm2"),
@@ -826,6 +827,10 @@ static bool gen_head(void)
        outf("static void %s(void)", funcname);
        outf("{");
 
+       // shres on lores is useless
+       if (res == 2 && outres == 0) {
+               return false;
+       }
        // skip non-existing modes
        if (!aga) {
                if (planes > 4 && res > 0) {
@@ -879,6 +884,10 @@ static bool gen_fasthead(void)
        outf("static void %s(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,"
                "int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)", funcname);
        outf("{");
+       // shres on lores is useless
+       if (res == 2 && outres == 0) {
+               return false;
+       }
        return true;
 }
 
@@ -1478,7 +1487,7 @@ int main (int argc, char *argv[])
        ntsc = -1;
 
        for (genlock = 0; genlock < 2; genlock++) {
-               for (outres = 0; outres < 3; outres++) {
+               for (outres = 1; outres < 3; outres++) {
                        char funcname[200];
                        sprintf(funcname, "lts_ecs_shres_d%s%s", 
                                outres == 0 ? "lores" : (outres == 1 ? "hires" : "shres"),
index 6cce91c01139ddbd39fbe1003b66588bd25f729b..0769aee8cdbb6639bb64b4b0e864554d9a077084 100644 (file)
@@ -496,248 +496,23 @@ static void lts_aga_kehb_ihires_dlores_b1(int draw_start, int draw_end, int draw
 }
 static void lts_aga_n_ishres_dlores_b1(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u32 *colors_aga = (uae_u32*)ls->linecolorstate;
-       uae_u8 bxor = ls->bplcon4 >> 8;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c;
-                       uae_u32 col;
-                       c = *cp;
-                       clxdat |= bplcoltable[c];
-                       cp += cpadds[0];
-                       c ^= bxor;
-                       col = colors_aga[c];
-                       *buf1++ = col;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_aga_dpf_ishres_dlores_b1(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u32 *colors_aga = (uae_u32*)ls->linecolorstate;
-       uae_u8 bxor = ls->bplcon4 >> 8;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c;
-                       uae_u32 col;
-                       c = *cp;
-                       clxdat |= bplcoltable[c];
-                       cp += cpadds[0];
-                       {
-                               uae_u8 dpval = dpf_lookup[c];
-                               if (dpf_lookup_no[c]) {
-                                       dpval += dblpfofs[bpldualpf2of];
-                               }
-                               dpval ^= bxor;
-                               col = colors_aga[dpval];
-                       }
-                       *buf1++ = col;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_aga_ehb_ishres_dlores_b1(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u32 *colors_aga = (uae_u32*)ls->linecolorstate;
-       uae_u8 bxor = ls->bplcon4 >> 8;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c;
-                       uae_u32 col;
-                       c = *cp;
-                       clxdat |= bplcoltable[c];
-                       cp += cpadds[0];
-                       c ^= bxor;
-                       if (c & 0x20) {
-                               uae_u32 v = (colors_aga[c & 31] >> 1) & 0x7f7f7f;
-                               col = CONVERT_RGB(v);
-                       } else {
-                               col = colors_aga[c];
-                       }
-                       *buf1++ = col;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_aga_ham_ishres_dlores_b1(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u32 *colors_aga = (uae_u32*)ls->linecolorstate;
-       uae_u8 bxor = ls->bplcon4 >> 8;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c;
-                       uae_u32 col;
-                       c = *cp;
-                       clxdat |= bplcoltable[c];
-                       cp += cpadds[0];
-                       col = decode_ham_pixel_aga_fast(c, planes, bxor, colors_aga);
-                       *buf1++ = col;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_aga_kehb_ishres_dlores_b1(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u32 *colors_aga = (uae_u32*)ls->linecolorstate;
-       uae_u8 bxor = ls->bplcon4 >> 8;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c;
-                       uae_u32 col;
-                       c = *cp;
-                       clxdat |= bplcoltable[c];
-                       cp += cpadds[0];
-                       c ^= bxor;
-                       col = colors_aga[c & 31];
-                       *buf1++ = col;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_aga_n_ilores_dhires_b1(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
@@ -2956,263 +2731,23 @@ static void lts_aga_kehb_ihires_dlores_b2(int draw_start, int draw_end, int draw
 }
 static void lts_aga_n_ishres_dlores_b2(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u32 *colors_aga = (uae_u32*)ls->linecolorstate;
-       uae_u8 bxor = ls->bplcon4 >> 8;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       buf2++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *buf2++ = bgcolor;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c;
-                       uae_u32 col;
-                       c = *cp;
-                       clxdat |= bplcoltable[c];
-                       cp += cpadds[0];
-                       c ^= bxor;
-                       col = colors_aga[c];
-                       *buf1++ = col;
-                       *buf2++ = col;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_aga_dpf_ishres_dlores_b2(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u32 *colors_aga = (uae_u32*)ls->linecolorstate;
-       uae_u8 bxor = ls->bplcon4 >> 8;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       buf2++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *buf2++ = bgcolor;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c;
-                       uae_u32 col;
-                       c = *cp;
-                       clxdat |= bplcoltable[c];
-                       cp += cpadds[0];
-                       {
-                               uae_u8 dpval = dpf_lookup[c];
-                               if (dpf_lookup_no[c]) {
-                                       dpval += dblpfofs[bpldualpf2of];
-                               }
-                               dpval ^= bxor;
-                               col = colors_aga[dpval];
-                       }
-                       *buf1++ = col;
-                       *buf2++ = col;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_aga_ehb_ishres_dlores_b2(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u32 *colors_aga = (uae_u32*)ls->linecolorstate;
-       uae_u8 bxor = ls->bplcon4 >> 8;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       buf2++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *buf2++ = bgcolor;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c;
-                       uae_u32 col;
-                       c = *cp;
-                       clxdat |= bplcoltable[c];
-                       cp += cpadds[0];
-                       c ^= bxor;
-                       if (c & 0x20) {
-                               uae_u32 v = (colors_aga[c & 31] >> 1) & 0x7f7f7f;
-                               col = CONVERT_RGB(v);
-                       } else {
-                               col = colors_aga[c];
-                       }
-                       *buf1++ = col;
-                       *buf2++ = col;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_aga_ham_ishres_dlores_b2(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u32 *colors_aga = (uae_u32*)ls->linecolorstate;
-       uae_u8 bxor = ls->bplcon4 >> 8;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       buf2++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *buf2++ = bgcolor;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c;
-                       uae_u32 col;
-                       c = *cp;
-                       clxdat |= bplcoltable[c];
-                       cp += cpadds[0];
-                       col = decode_ham_pixel_aga_fast(c, planes, bxor, colors_aga);
-                       *buf1++ = col;
-                       *buf2++ = col;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_aga_kehb_ishres_dlores_b2(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u32 *colors_aga = (uae_u32*)ls->linecolorstate;
-       uae_u8 bxor = ls->bplcon4 >> 8;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       buf2++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *buf2++ = bgcolor;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c;
-                       uae_u32 col;
-                       c = *cp;
-                       clxdat |= bplcoltable[c];
-                       cp += cpadds[0];
-                       c ^= bxor;
-                       col = colors_aga[c & 31];
-                       *buf1++ = col;
-                       *buf2++ = col;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_aga_n_ilores_dhires_b2(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
index 9bae1590d978bb67528f76fc1158f46cff34121f..59f191821c5927a64fb63f1e4878ff9e28ba8b01 100644 (file)
@@ -4842,263 +4842,19 @@ static void lts_aga_fm0_kehb1_p8_ihires_dlores_spr(void)
 }
 static void lts_aga_fm0_n0_p2_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2();
-                       if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2();
-                       }
-                       loaded_pix = getbpl2();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2();
-                       shiftbpl2();
-                       shiftbpl2();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm0_n1_p2_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2();
-                       if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2e();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[1]) {
-                               copybpl2o();
-                       }
-                       loaded_pix = getbpl2();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2();
-                       shiftbpl2();
-                       shiftbpl2();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm0_dpf0_p2_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2();
-                       if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2();
-                       }
-                       loaded_pix = getbpl2();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2();
-                       shiftbpl2();
-                       shiftbpl2();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm0_dpf1_p2_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2();
-                       if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2e();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[1]) {
-                               copybpl2o();
-                       }
-                       loaded_pix = getbpl2();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2();
-                       shiftbpl2();
-                       shiftbpl2();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm0_ehb0_p2_ishres_dlores(void)
 {
@@ -5246,323 +5002,19 @@ static void lts_aga_fm0_kehb1_p8_ishres_dlores(void)
 }
 static void lts_aga_fm0_n0_p2_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2();
-                       if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2();
-                       }
-                       loaded_pix = getbpl2();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2();
-                       shiftbpl2();
-                       shiftbpl2();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm0_n1_p2_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2();
-                       if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2e();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[1]) {
-                               copybpl2o();
-                       }
-                       loaded_pix = getbpl2();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2();
-                       shiftbpl2();
-                       shiftbpl2();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm0_dpf0_p2_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2();
-                       if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2();
-                       }
-                       loaded_pix = getbpl2();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2();
-                       shiftbpl2();
-                       shiftbpl2();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm0_dpf1_p2_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2();
-                       if (bpldat_copy[0] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2e();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 15) == bplcon1_shift_full_masked[1]) {
-                               copybpl2o();
-                       }
-                       loaded_pix = getbpl2();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2();
-                       shiftbpl2();
-                       shiftbpl2();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm0_ehb0_p2_ishres_dlores_spr(void)
 {
index 54b93444c37e7984ab2fb541b083956411693680..a61787755a76d67c977ef8f1df6597a649ab553f 100644 (file)
@@ -7090,263 +7090,19 @@ static void lts_aga_fm1_kehb1_p8_ihires_dlores_spr(void)
 }
 static void lts_aga_fm1_n0_p2_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2();
-                       }
-                       loaded_pix = getbpl2_32(); 
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2();
-                       shiftbpl2();
-                       shiftbpl2();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_n1_p2_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2e();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) {
-                               copybpl2o();
-                       }
-                       loaded_pix = getbpl2_32(); 
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2();
-                       shiftbpl2();
-                       shiftbpl2();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_dpf0_p2_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2();
-                       }
-                       loaded_pix = getbpl2_32(); 
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2();
-                       shiftbpl2();
-                       shiftbpl2();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_dpf1_p2_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2e();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) {
-                               copybpl2o();
-                       }
-                       loaded_pix = getbpl2_32(); 
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2();
-                       shiftbpl2();
-                       shiftbpl2();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_ehb0_p2_ishres_dlores(void)
 {
@@ -7374,263 +7130,19 @@ static void lts_aga_fm1_kehb1_p2_ishres_dlores(void)
 }
 static void lts_aga_fm1_n0_p4_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4();
-                       }
-                       loaded_pix = getbpl4_32(); 
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4();
-                       shiftbpl4();
-                       shiftbpl4();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_n1_p4_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4e();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) {
-                               copybpl4o();
-                       }
-                       loaded_pix = getbpl4_32(); 
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4();
-                       shiftbpl4();
-                       shiftbpl4();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_dpf0_p4_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4();
-                       }
-                       loaded_pix = getbpl4_32(); 
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4();
-                       shiftbpl4();
-                       shiftbpl4();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_dpf1_p4_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4e();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) {
-                               copybpl4o();
-                       }
-                       loaded_pix = getbpl4_32(); 
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4();
-                       shiftbpl4();
-                       shiftbpl4();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_ehb0_p4_ishres_dlores(void)
 {
@@ -7738,323 +7250,19 @@ static void lts_aga_fm1_kehb1_p8_ishres_dlores(void)
 }
 static void lts_aga_fm1_n0_p2_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2();
-                       }
-                       loaded_pix = getbpl2_32(); 
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2();
-                       shiftbpl2();
-                       shiftbpl2();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_n1_p2_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2e();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) {
-                               copybpl2o();
-                       }
-                       loaded_pix = getbpl2_32(); 
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2();
-                       shiftbpl2();
-                       shiftbpl2();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_dpf0_p2_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2();
-                       }
-                       loaded_pix = getbpl2_32(); 
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2();
-                       shiftbpl2();
-                       shiftbpl2();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_dpf1_p2_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2e();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) {
-                               copybpl2o();
-                       }
-                       loaded_pix = getbpl2_32(); 
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2();
-                       shiftbpl2();
-                       shiftbpl2();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_ehb0_p2_ishres_dlores_spr(void)
 {
@@ -8065,340 +7273,36 @@ static void lts_aga_fm1_ehb1_p2_ishres_dlores_spr(void)
        lts_null();
 }
 static void lts_aga_fm1_ham0_p2_ishres_dlores_spr(void)
-{
-       lts_null();
-}
-static void lts_aga_fm1_ham1_p2_ishres_dlores_spr(void)
-{
-       lts_null();
-}
-static void lts_aga_fm1_kehb0_p2_ishres_dlores_spr(void)
-{
-       lts_null();
-}
-static void lts_aga_fm1_kehb1_p2_ishres_dlores_spr(void)
-{
-       lts_null();
-}
-static void lts_aga_fm1_n0_p4_ishres_dlores_spr(void)
-{
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4();
-                       }
-                       loaded_pix = getbpl4_32(); 
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4();
-                       shiftbpl4();
-                       shiftbpl4();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+{
+       lts_null();
+}
+static void lts_aga_fm1_ham1_p2_ishres_dlores_spr(void)
+{
+       lts_null();
+}
+static void lts_aga_fm1_kehb0_p2_ishres_dlores_spr(void)
+{
+       lts_null();
+}
+static void lts_aga_fm1_kehb1_p2_ishres_dlores_spr(void)
+{
+       lts_null();
+}
+static void lts_aga_fm1_n0_p4_ishres_dlores_spr(void)
+{
+       lts_null();
 }
 static void lts_aga_fm1_n1_p4_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4e();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) {
-                               copybpl4o();
-                       }
-                       loaded_pix = getbpl4_32(); 
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4();
-                       shiftbpl4();
-                       shiftbpl4();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_dpf0_p4_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4();
-                       }
-                       loaded_pix = getbpl4_32(); 
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4();
-                       shiftbpl4();
-                       shiftbpl4();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_dpf1_p4_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4e();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) {
-                               copybpl4o();
-                       }
-                       loaded_pix = getbpl4_32(); 
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4();
-                       shiftbpl4();
-                       shiftbpl4();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_ehb0_p4_ishres_dlores_spr(void)
 {
index daca8c5f5c9ba843735963a54c86c2c693edb605..e6c8c2619800fe6e015acf7cb01a5fd7fa4c9e39 100644 (file)
@@ -3256,283 +3256,19 @@ static void lts_aga_fm1_kehb1_p8_ihires_dlores_spr_genlock(void)
 }
 static void lts_aga_fm1_n0_p4_ishres_dlores_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                                       gpix0 = get_genlock_transparency(pix0 ^ bplcon4_denise_xor_val);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4();
-                       }
-                       loaded_pix = getbpl4_32(); 
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4();
-                       shiftbpl4();
-                       shiftbpl4();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_n1_p4_ishres_dlores_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                                       gpix0 = get_genlock_transparency(pix0 ^ bplcon4_denise_xor_val);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4e();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) {
-                               copybpl4o();
-                       }
-                       loaded_pix = getbpl4_32(); 
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4();
-                       shiftbpl4();
-                       shiftbpl4();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_dpf0_p4_ishres_dlores_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                                       gpix0 = get_genlock_transparency(dpf_lookup[pix0]);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4();
-                       }
-                       loaded_pix = getbpl4_32(); 
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4();
-                       shiftbpl4();
-                       shiftbpl4();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_dpf1_p4_ishres_dlores_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                                       gpix0 = get_genlock_transparency(dpf_lookup[pix0]);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4e();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) {
-                               copybpl4o();
-                       }
-                       loaded_pix = getbpl4_32(); 
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4();
-                       shiftbpl4();
-                       shiftbpl4();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_ehb0_p4_ishres_dlores_genlock(void)
 {
@@ -3600,351 +3336,19 @@ static void lts_aga_fm1_kehb1_p8_ishres_dlores_genlock(void)
 }
 static void lts_aga_fm1_n0_p4_ishres_dlores_spr_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                                       gpix0 = get_genlock_transparency(pix0 ^ bplcon4_denise_xor_val);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4();
-                       }
-                       loaded_pix = getbpl4_32(); 
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4();
-                       shiftbpl4();
-                       shiftbpl4();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                               gpix0 = get_genlock_transparency(spix0);
-
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_n1_p4_ishres_dlores_spr_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                                       gpix0 = get_genlock_transparency(pix0 ^ bplcon4_denise_xor_val);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4e();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) {
-                               copybpl4o();
-                       }
-                       loaded_pix = getbpl4_32(); 
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4();
-                       shiftbpl4();
-                       shiftbpl4();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                               gpix0 = get_genlock_transparency(spix0);
-
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_dpf0_p4_ishres_dlores_spr_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                                       gpix0 = get_genlock_transparency(dpf_lookup[pix0]);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4();
-                       }
-                       loaded_pix = getbpl4_32(); 
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4();
-                       shiftbpl4();
-                       shiftbpl4();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                               gpix0 = get_genlock_transparency(spix0);
-
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_dpf1_p4_ishres_dlores_spr_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                                       gpix0 = get_genlock_transparency(dpf_lookup[pix0]);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4();
-                       if (bpldat_copy[0] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4e();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 31) == bplcon1_shift_full_masked[1]) {
-                               copybpl4o();
-                       }
-                       loaded_pix = getbpl4_32(); 
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4();
-                       shiftbpl4();
-                       shiftbpl4();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                               gpix0 = get_genlock_transparency(spix0);
-
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm1_ehb0_p4_ishres_dlores_spr_genlock(void)
 {
index 37c243598f390c7903e3219bf97d3c6addb0f03a..dde13737d099439d622f9d3a0c8729de3d0ecc4e 100644 (file)
@@ -7090,263 +7090,19 @@ static void lts_aga_fm2_kehb1_p8_ihires_dlores_spr(void)
 }
 static void lts_aga_fm2_n0_p2_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2_64();
-                       }
-                       loaded_pix = getbpl2_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2_64();
-                       shiftbpl2_64();
-                       shiftbpl2_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_n1_p2_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl2o_64();
-                       }
-                       loaded_pix = getbpl2_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2_64();
-                       shiftbpl2_64();
-                       shiftbpl2_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf0_p2_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2_64();
-                       }
-                       loaded_pix = getbpl2_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2_64();
-                       shiftbpl2_64();
-                       shiftbpl2_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf1_p2_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl2o_64();
-                       }
-                       loaded_pix = getbpl2_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2_64();
-                       shiftbpl2_64();
-                       shiftbpl2_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_ehb0_p2_ishres_dlores(void)
 {
@@ -7374,263 +7130,19 @@ static void lts_aga_fm2_kehb1_p2_ishres_dlores(void)
 }
 static void lts_aga_fm2_n0_p4_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4_64();
-                       }
-                       loaded_pix = getbpl4_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_n1_p4_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl4o_64();
-                       }
-                       loaded_pix = getbpl4_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf0_p4_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4_64();
-                       }
-                       loaded_pix = getbpl4_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf1_p4_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl4o_64();
-                       }
-                       loaded_pix = getbpl4_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_ehb0_p4_ishres_dlores(void)
 {
@@ -7658,1011 +7170,59 @@ static void lts_aga_fm2_kehb1_p4_ishres_dlores(void)
 }
 static void lts_aga_fm2_n0_p6_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_n1_p6_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl6o_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf0_p6_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf1_p6_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl6o_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_ehb0_p6_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       pix0 ^= bplcon4_denise_xor_val;
-                                       if (!(pix0 & 0x20)) {
-                                               dpix_val0 = denise_colors.acolors[pix0];
-                                       } else {
-                                               uae_u32 v = (denise_colors.color_regs_aga[pix0 & 0x1f] >> 1) & 0x7f7f7f;
-                                               dpix_val0 = CONVERT_RGB(v);
-                                       }
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_ehb1_p6_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       pix0 ^= bplcon4_denise_xor_val;
-                                       if (!(pix0 & 0x20)) {
-                                               dpix_val0 = denise_colors.acolors[pix0];
-                                       } else {
-                                               uae_u32 v = (denise_colors.color_regs_aga[pix0 & 0x1f] >> 1) & 0x7f7f7f;
-                                               dpix_val0 = CONVERT_RGB(v);
-                                       }
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl6o_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_ham0_p6_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = decode_ham_pixel_aga(pix0);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[0] = loaded_pix;
-                       uae_u8 pix1 = 0;
-                       uae_u32 dpix_val1 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix1 = loaded_pixs[1];
-                                       decode_ham_pixel_aga(pix1);
-                               }
-                               last_bpl_pix = pix1;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[1] = loaded_pix;
-                       uae_u8 pix2 = 0;
-                       uae_u32 dpix_val2 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix2 = loaded_pixs[2];
-                                       decode_ham_pixel_aga(pix2);
-                               }
-                               last_bpl_pix = pix2;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[2] = loaded_pix;
-                       uae_u8 pix3 = 0;
-                       uae_u32 dpix_val3 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix3 = loaded_pixs[3];
-                                       decode_ham_pixel_aga(pix3);
-                               }
-                               last_bpl_pix = pix3;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[3] = loaded_pix;
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_ham1_p6_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = decode_ham_pixel_aga(pix0);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl6o_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[0] = loaded_pix;
-                       uae_u8 pix1 = 0;
-                       uae_u32 dpix_val1 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix1 = loaded_pixs[1];
-                                       decode_ham_pixel_aga(pix1);
-                               }
-                               last_bpl_pix = pix1;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl6o_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[1] = loaded_pix;
-                       uae_u8 pix2 = 0;
-                       uae_u32 dpix_val2 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix2 = loaded_pixs[2];
-                                       decode_ham_pixel_aga(pix2);
-                               }
-                               last_bpl_pix = pix2;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl6o_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[2] = loaded_pix;
-                       uae_u8 pix3 = 0;
-                       uae_u32 dpix_val3 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix3 = loaded_pixs[3];
-                                       decode_ham_pixel_aga(pix3);
-                               }
-                               last_bpl_pix = pix3;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl6o_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[3] = loaded_pix;
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_kehb0_p6_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       pix0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[pix0 & 31];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_kehb1_p6_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       pix0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[pix0 & 31];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl6o_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_n0_p8_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_n1_p8_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf0_p8_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf1_p8_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_ehb0_p8_ishres_dlores(void)
 {
@@ -8674,227 +7234,11 @@ static void lts_aga_fm2_ehb1_p8_ishres_dlores(void)
 }
 static void lts_aga_fm2_ham0_p8_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = decode_ham_pixel_aga(pix0);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[0] = loaded_pix;
-                       uae_u8 pix1 = 0;
-                       uae_u32 dpix_val1 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix1 = loaded_pixs[1];
-                                       decode_ham_pixel_aga(pix1);
-                               }
-                               last_bpl_pix = pix1;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[1] = loaded_pix;
-                       uae_u8 pix2 = 0;
-                       uae_u32 dpix_val2 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix2 = loaded_pixs[2];
-                                       decode_ham_pixel_aga(pix2);
-                               }
-                               last_bpl_pix = pix2;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[2] = loaded_pix;
-                       uae_u8 pix3 = 0;
-                       uae_u32 dpix_val3 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix3 = loaded_pixs[3];
-                                       decode_ham_pixel_aga(pix3);
-                               }
-                               last_bpl_pix = pix3;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[3] = loaded_pix;
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_ham1_p8_ishres_dlores(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = decode_ham_pixel_aga(pix0);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[0] = loaded_pix;
-                       uae_u8 pix1 = 0;
-                       uae_u32 dpix_val1 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix1 = loaded_pixs[1];
-                                       decode_ham_pixel_aga(pix1);
-                               }
-                               last_bpl_pix = pix1;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[1] = loaded_pix;
-                       uae_u8 pix2 = 0;
-                       uae_u32 dpix_val2 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix2 = loaded_pixs[2];
-                                       decode_ham_pixel_aga(pix2);
-                               }
-                               last_bpl_pix = pix2;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[2] = loaded_pix;
-                       uae_u8 pix3 = 0;
-                       uae_u32 dpix_val3 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix3 = loaded_pixs[3];
-                                       decode_ham_pixel_aga(pix3);
-                               }
-                               last_bpl_pix = pix3;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[3] = loaded_pix;
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_kehb0_p8_ishres_dlores(void)
 {
@@ -8906,323 +7250,19 @@ static void lts_aga_fm2_kehb1_p8_ishres_dlores(void)
 }
 static void lts_aga_fm2_n0_p2_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2_64();
-                       }
-                       loaded_pix = getbpl2_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2_64();
-                       shiftbpl2_64();
-                       shiftbpl2_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_n1_p2_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl2o_64();
-                       }
-                       loaded_pix = getbpl2_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2_64();
-                       shiftbpl2_64();
-                       shiftbpl2_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf0_p2_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2_64();
-                       }
-                       loaded_pix = getbpl2_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2_64();
-                       shiftbpl2_64();
-                       shiftbpl2_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf1_p2_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl2_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl2e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl2o_64();
-                       }
-                       loaded_pix = getbpl2_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl2_64();
-                       shiftbpl2_64();
-                       shiftbpl2_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_ehb0_p2_ishres_dlores_spr(void)
 {
@@ -9250,323 +7290,19 @@ static void lts_aga_fm2_kehb1_p2_ishres_dlores_spr(void)
 }
 static void lts_aga_fm2_n0_p4_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4_64();
-                       }
-                       loaded_pix = getbpl4_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_n1_p4_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl4o_64();
-                       }
-                       loaded_pix = getbpl4_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf0_p4_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4_64();
-                       }
-                       loaded_pix = getbpl4_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf1_p4_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl4o_64();
-                       }
-                       loaded_pix = getbpl4_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_ehb0_p4_ishres_dlores_spr(void)
 {
@@ -9594,1221 +7330,59 @@ static void lts_aga_fm2_kehb1_p4_ishres_dlores_spr(void)
 }
 static void lts_aga_fm2_n0_p6_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_n1_p6_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl6o_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf0_p6_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf1_p6_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl6o_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_ehb0_p6_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       pix0 ^= bplcon4_denise_xor_val;
-                                       if (!(pix0 & 0x20)) {
-                                               dpix_val0 = denise_colors.acolors[pix0];
-                                       } else {
-                                               uae_u32 v = (denise_colors.color_regs_aga[pix0 & 0x1f] >> 1) & 0x7f7f7f;
-                                               dpix_val0 = CONVERT_RGB(v);
-                                       }
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_ehb1_p6_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       pix0 ^= bplcon4_denise_xor_val;
-                                       if (!(pix0 & 0x20)) {
-                                               dpix_val0 = denise_colors.acolors[pix0];
-                                       } else {
-                                               uae_u32 v = (denise_colors.color_regs_aga[pix0 & 0x1f] >> 1) & 0x7f7f7f;
-                                               dpix_val0 = CONVERT_RGB(v);
-                                       }
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl6o_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_ham0_p6_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = decode_ham_pixel_aga(pix0);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       uae_u8 pix1 = 0;
-                       uae_u32 dpix_val1 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix1 = loaded_pixs[1];
-                                       decode_ham_pixel_aga(pix1);
-                               }
-                               last_bpl_pix = pix1;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[1] = loaded_pix;
-                       uae_u8 pix2 = 0;
-                       uae_u32 dpix_val2 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix2 = loaded_pixs[2];
-                                       decode_ham_pixel_aga(pix2);
-                               }
-                               last_bpl_pix = pix2;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[2] = loaded_pix;
-                       uae_u8 pix3 = 0;
-                       uae_u32 dpix_val3 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix3 = loaded_pixs[3];
-                                       decode_ham_pixel_aga(pix3);
-                               }
-                               last_bpl_pix = pix3;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[3] = loaded_pix;
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
-}
-static void lts_aga_fm2_ham1_p6_ishres_dlores_spr(void)
-{
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = decode_ham_pixel_aga(pix0);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl6o_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       uae_u8 pix1 = 0;
-                       uae_u32 dpix_val1 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix1 = loaded_pixs[1];
-                                       decode_ham_pixel_aga(pix1);
-                               }
-                               last_bpl_pix = pix1;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl6o_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[1] = loaded_pix;
-                       uae_u8 pix2 = 0;
-                       uae_u32 dpix_val2 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix2 = loaded_pixs[2];
-                                       decode_ham_pixel_aga(pix2);
-                               }
-                               last_bpl_pix = pix2;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl6o_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[2] = loaded_pix;
-                       uae_u8 pix3 = 0;
-                       uae_u32 dpix_val3 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix3 = loaded_pixs[3];
-                                       decode_ham_pixel_aga(pix3);
-                               }
-                               last_bpl_pix = pix3;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl6o_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       loaded_pixs[3] = loaded_pix;
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
-}
-static void lts_aga_fm2_kehb0_p6_ishres_dlores_spr(void)
-{
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       pix0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[pix0 & 31];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
-}
-static void lts_aga_fm2_kehb1_p6_ishres_dlores_spr(void)
-{
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       pix0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[pix0 & 31];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl6_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl6e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl6o_64();
-                       }
-                       loaded_pix = getbpl6_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       shiftbpl6_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
-}
-static void lts_aga_fm2_n0_p8_ishres_dlores_spr(void)
-{
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
-static void lts_aga_fm2_n1_p8_ishres_dlores_spr(void)
+static void lts_aga_fm2_ham1_p6_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
-static void lts_aga_fm2_dpf0_p8_ishres_dlores_spr(void)
+static void lts_aga_fm2_kehb0_p6_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
-static void lts_aga_fm2_dpf1_p8_ishres_dlores_spr(void)
+static void lts_aga_fm2_kehb1_p6_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
+}
+static void lts_aga_fm2_n0_p8_ishres_dlores_spr(void)
+{
+       lts_null();
+}
+static void lts_aga_fm2_n1_p8_ishres_dlores_spr(void)
+{
+       lts_null();
+}
+static void lts_aga_fm2_dpf0_p8_ishres_dlores_spr(void)
+{
+       lts_null();
+}
+static void lts_aga_fm2_dpf1_p8_ishres_dlores_spr(void)
+{
+       lts_null();
 }
 static void lts_aga_fm2_ehb0_p8_ishres_dlores_spr(void)
 {
@@ -10820,257 +7394,11 @@ static void lts_aga_fm2_ehb1_p8_ishres_dlores_spr(void)
 }
 static void lts_aga_fm2_ham0_p8_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = decode_ham_pixel_aga(pix0);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       uae_u8 pix1 = 0;
-                       uae_u32 dpix_val1 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix1 = loaded_pixs[1];
-                                       decode_ham_pixel_aga(pix1);
-                               }
-                               last_bpl_pix = pix1;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[1] = loaded_pix;
-                       uae_u8 pix2 = 0;
-                       uae_u32 dpix_val2 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix2 = loaded_pixs[2];
-                                       decode_ham_pixel_aga(pix2);
-                               }
-                               last_bpl_pix = pix2;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[2] = loaded_pix;
-                       uae_u8 pix3 = 0;
-                       uae_u32 dpix_val3 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix3 = loaded_pixs[3];
-                                       decode_ham_pixel_aga(pix3);
-                               }
-                               last_bpl_pix = pix3;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[3] = loaded_pix;
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_ham1_p8_ishres_dlores_spr(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = decode_ham_pixel_aga(pix0);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       uae_u8 pix1 = 0;
-                       uae_u32 dpix_val1 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix1 = loaded_pixs[1];
-                                       decode_ham_pixel_aga(pix1);
-                               }
-                               last_bpl_pix = pix1;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[1] = loaded_pix;
-                       uae_u8 pix2 = 0;
-                       uae_u32 dpix_val2 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix2 = loaded_pixs[2];
-                                       decode_ham_pixel_aga(pix2);
-                               }
-                               last_bpl_pix = pix2;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[2] = loaded_pix;
-                       uae_u8 pix3 = 0;
-                       uae_u32 dpix_val3 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix3 = loaded_pixs[3];
-                                       decode_ham_pixel_aga(pix3);
-                               }
-                               last_bpl_pix = pix3;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[3] = loaded_pix;
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_kehb0_p8_ishres_dlores_spr(void)
 {
index dc14d6d95cebb816a50ea118e839b099affe37a5..c24d3b04c669b2a159595a8a2e8c52c0505b082b 100644 (file)
@@ -3256,283 +3256,19 @@ static void lts_aga_fm2_kehb1_p8_ihires_dlores_spr_genlock(void)
 }
 static void lts_aga_fm2_n0_p4_ishres_dlores_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                                       gpix0 = get_genlock_transparency(pix0 ^ bplcon4_denise_xor_val);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4_64();
-                       }
-                       loaded_pix = getbpl4_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_n1_p4_ishres_dlores_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                                       gpix0 = get_genlock_transparency(pix0 ^ bplcon4_denise_xor_val);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl4o_64();
-                       }
-                       loaded_pix = getbpl4_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf0_p4_ishres_dlores_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                                       gpix0 = get_genlock_transparency(dpf_lookup[pix0]);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4_64();
-                       }
-                       loaded_pix = getbpl4_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf1_p4_ishres_dlores_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                                       gpix0 = get_genlock_transparency(dpf_lookup[pix0]);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl4o_64();
-                       }
-                       loaded_pix = getbpl4_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_ehb0_p4_ishres_dlores_genlock(void)
 {
@@ -3560,283 +3296,19 @@ static void lts_aga_fm2_kehb1_p4_ishres_dlores_genlock(void)
 }
 static void lts_aga_fm2_n0_p8_ishres_dlores_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                                       gpix0 = get_genlock_transparency(pix0 ^ bplcon4_denise_xor_val);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_n1_p8_ishres_dlores_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                                       gpix0 = get_genlock_transparency(pix0 ^ bplcon4_denise_xor_val);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf0_p8_ishres_dlores_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                                       gpix0 = get_genlock_transparency(dpf_lookup[pix0]);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf1_p8_ishres_dlores_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                                       gpix0 = get_genlock_transparency(dpf_lookup[pix0]);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_ehb0_p8_ishres_dlores_genlock(void)
 {
@@ -3848,243 +3320,11 @@ static void lts_aga_fm2_ehb1_p8_ishres_dlores_genlock(void)
 }
 static void lts_aga_fm2_ham0_p8_ishres_dlores_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = decode_ham_pixel_aga(pix0);
-                                       gpix0 = get_genlock_transparency((pix0 >> 2) & 63);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[0] = loaded_pix;
-                       uae_u8 pix1 = 0;
-                       uae_u8 gpix1 = 0xff;
-                       uae_u32 dpix_val1 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix1 = loaded_pixs[1];
-                                       decode_ham_pixel_aga(pix1);
-                               }
-                               last_bpl_pix = pix1;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[1] = loaded_pix;
-                       uae_u8 pix2 = 0;
-                       uae_u8 gpix2 = 0xff;
-                       uae_u32 dpix_val2 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix2 = loaded_pixs[2];
-                                       decode_ham_pixel_aga(pix2);
-                               }
-                               last_bpl_pix = pix2;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[2] = loaded_pix;
-                       uae_u8 pix3 = 0;
-                       uae_u8 gpix3 = 0xff;
-                       uae_u32 dpix_val3 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix3 = loaded_pixs[3];
-                                       decode_ham_pixel_aga(pix3);
-                               }
-                               last_bpl_pix = pix3;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[3] = loaded_pix;
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_ham1_p8_ishres_dlores_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = decode_ham_pixel_aga(pix0);
-                                       gpix0 = get_genlock_transparency((pix0 >> 2) & 63);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[0] = loaded_pix;
-                       uae_u8 pix1 = 0;
-                       uae_u8 gpix1 = 0xff;
-                       uae_u32 dpix_val1 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix1 = loaded_pixs[1];
-                                       decode_ham_pixel_aga(pix1);
-                               }
-                               last_bpl_pix = pix1;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[1] = loaded_pix;
-                       uae_u8 pix2 = 0;
-                       uae_u8 gpix2 = 0xff;
-                       uae_u32 dpix_val2 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix2 = loaded_pixs[2];
-                                       decode_ham_pixel_aga(pix2);
-                               }
-                               last_bpl_pix = pix2;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[2] = loaded_pix;
-                       uae_u8 pix3 = 0;
-                       uae_u8 gpix3 = 0xff;
-                       uae_u32 dpix_val3 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix3 = loaded_pixs[3];
-                                       decode_ham_pixel_aga(pix3);
-                               }
-                               last_bpl_pix = pix3;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[3] = loaded_pix;
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_kehb0_p8_ishres_dlores_genlock(void)
 {
@@ -4096,351 +3336,19 @@ static void lts_aga_fm2_kehb1_p8_ishres_dlores_genlock(void)
 }
 static void lts_aga_fm2_n0_p4_ishres_dlores_spr_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                                       gpix0 = get_genlock_transparency(pix0 ^ bplcon4_denise_xor_val);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4_64();
-                       }
-                       loaded_pix = getbpl4_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                               gpix0 = get_genlock_transparency(spix0);
-
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_n1_p4_ishres_dlores_spr_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                                       gpix0 = get_genlock_transparency(pix0 ^ bplcon4_denise_xor_val);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl4o_64();
-                       }
-                       loaded_pix = getbpl4_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                               gpix0 = get_genlock_transparency(spix0);
-
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf0_p4_ishres_dlores_spr_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                                       gpix0 = get_genlock_transparency(dpf_lookup[pix0]);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4_64();
-                       }
-                       loaded_pix = getbpl4_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                               gpix0 = get_genlock_transparency(spix0);
-
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf1_p4_ishres_dlores_spr_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                                       gpix0 = get_genlock_transparency(dpf_lookup[pix0]);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl4_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl4e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl4o_64();
-                       }
-                       loaded_pix = getbpl4_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       shiftbpl4_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                               gpix0 = get_genlock_transparency(spix0);
-
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_ehb0_p4_ishres_dlores_spr_genlock(void)
 {
@@ -4468,351 +3376,19 @@ static void lts_aga_fm2_kehb1_p4_ishres_dlores_spr_genlock(void)
 }
 static void lts_aga_fm2_n0_p8_ishres_dlores_spr_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                                       gpix0 = get_genlock_transparency(pix0 ^ bplcon4_denise_xor_val);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                               gpix0 = get_genlock_transparency(spix0);
-
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_n1_p8_ishres_dlores_spr_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
-                                       gpix0 = get_genlock_transparency(pix0 ^ bplcon4_denise_xor_val);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                               gpix0 = get_genlock_transparency(spix0);
-
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf0_p8_ishres_dlores_spr_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                                       gpix0 = get_genlock_transparency(dpf_lookup[pix0]);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                               gpix0 = get_genlock_transparency(spix0);
-
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_dpf1_p8_ishres_dlores_spr_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       uae_u8 val0 = dpf_lookup[pix0];
-                                       if (dpf_lookup_no[pix0]) {
-                                               val0 += dblpfofs[bpldualpf2of];
-                                       }
-                                       val0 ^= bplcon4_denise_xor_val;
-                                       dpix_val0 = denise_colors.acolors[val0];
-                                       gpix0 = get_genlock_transparency(dpf_lookup[pix0]);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       shiftbpl8_64();
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                               gpix0 = get_genlock_transparency(spix0);
-
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_ehb0_p8_ishres_dlores_spr_genlock(void)
 {
@@ -4824,277 +3400,11 @@ static void lts_aga_fm2_ehb1_p8_ishres_dlores_spr_genlock(void)
 }
 static void lts_aga_fm2_ham0_p8_ishres_dlores_spr_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = decode_ham_pixel_aga(pix0);
-                                       gpix0 = get_genlock_transparency((pix0 >> 2) & 63);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       uae_u8 pix1 = 0;
-                       uae_u8 gpix1 = 0xff;
-                       uae_u32 dpix_val1 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix1 = loaded_pixs[1];
-                                       decode_ham_pixel_aga(pix1);
-                               }
-                               last_bpl_pix = pix1;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[1] = loaded_pix;
-                       uae_u8 pix2 = 0;
-                       uae_u8 gpix2 = 0xff;
-                       uae_u32 dpix_val2 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix2 = loaded_pixs[2];
-                                       decode_ham_pixel_aga(pix2);
-                               }
-                               last_bpl_pix = pix2;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[2] = loaded_pix;
-                       uae_u8 pix3 = 0;
-                       uae_u8 gpix3 = 0xff;
-                       uae_u32 dpix_val3 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix3 = loaded_pixs[3];
-                                       decode_ham_pixel_aga(pix3);
-                               }
-                               last_bpl_pix = pix3;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[3] = loaded_pix;
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                               gpix0 = get_genlock_transparency(spix0);
-
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_ham1_p8_ishres_dlores_spr_genlock(void)
 {
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       int cnt_next = denise_hcounter_next << 2;
-                       if (checkhorizontal1_aga(denise_hcounter, denise_hcounter_next, h)) continue;
-                       matchsprites_aga(cnt + 0);
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               gpix0 = get_genlock_transparency_border();
-                               dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix0 = loaded_pixs[0];
-                                       clxdat |= bplcoltable[pix0];
-                                       dpix_val0 = decode_ham_pixel_aga(pix0);
-                                       gpix0 = get_genlock_transparency((pix0 >> 2) & 63);
-                               }
-                               last_bpl_pix = pix0;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 0) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       uae_u32 sv0 = 0;
-                       if (denise_spr_nr_armeds) {
-                               uae_u32 svt;
-                               svt = denise_render_sprites_aga(denise_spr_add);
-                               if (!denise_sprite_blank_active && !sprites_hidden) {
-                                       sv0 = svt;
-                               }
-                       }
-                       loaded_pixs[0] = loaded_pix;
-                       uae_u8 pix1 = 0;
-                       uae_u8 gpix1 = 0xff;
-                       uae_u32 dpix_val1 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix1 = loaded_pixs[1];
-                                       decode_ham_pixel_aga(pix1);
-                               }
-                               last_bpl_pix = pix1;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 1) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[1] = loaded_pix;
-                       uae_u8 pix2 = 0;
-                       uae_u8 gpix2 = 0xff;
-                       uae_u32 dpix_val2 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix2 = loaded_pixs[2];
-                                       decode_ham_pixel_aga(pix2);
-                               }
-                               last_bpl_pix = pix2;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 2) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[2] = loaded_pix;
-                       uae_u8 pix3 = 0;
-                       uae_u8 gpix3 = 0xff;
-                       uae_u32 dpix_val3 = BLANK_COLOR;
-                       if (!denise_blank_active) {
-                               dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       pix3 = loaded_pixs[3];
-                                       decode_ham_pixel_aga(pix3);
-                               }
-                               last_bpl_pix = pix3;
-                       }
-                       shiftbpl8_64();
-                       if (bpldat_copy[0] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[0]) { 
-                               copybpl8e_64();
-                       }
-                       if (bpldat_copy[1] && ((cnt | 3) & 63) == bplcon1_shift_full_masked[1]) {
-                               copybpl8o_64();
-                       }
-                       loaded_pix = getbpl8_64();
-                       loaded_pixs[3] = loaded_pix;
-                       internal_pixel_cnt += 4;
-                       if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
-                               if (sv0) {
-                                       uae_u32 spix0 = denise_render_sprites2(pix0, sv0);
-                                       if (spix0) {
-                                               dpix_val0 = denise_colors.acolors[spix0];
-                                               gpix0 = get_genlock_transparency(spix0);
-
-                                       }
-                               }
-                               dtbuf[h][0] = dpix_val0;
-                               dtgbuf[h][0] = gpix0;
-                               uae_u32 t0 = dtbuf[h ^ lol][0]; 
-                               #ifdef DEBUGGER
-                               if (decode_specials_debug) {
-                                       t0 = decode_denise_specials_debug(t0, cnt + 0);
-                               }
-                               #endif
-                               *buf1++ = t0;
-                               *buf2++ = t0;
-                               *gbuf++ = dtgbuf[h ^ lol][0];
-                       }
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
+       lts_null();
 }
 static void lts_aga_fm2_kehb0_p8_ishres_dlores_spr_genlock(void)
 {
index 14b89ac20814830ba03596c1c0ce546e31001223..2a79ffd299aed76e9a02c25f86c42562daab1621 100644 (file)
@@ -546,273 +546,23 @@ static void lts_aga_kehb_ihires_dlores_b1_genlock(int draw_start, int draw_end,
 }
 static void lts_aga_n_ishres_dlores_b1_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u32 *colors_aga = (uae_u32*)ls->linecolorstate;
-       uae_u8 bxor = ls->bplcon4 >> 8;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       uae_u8 gpix = get_genlock_transparency_border_fast(ls->bplcon3);
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       gbuf++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *gbuf++ = gpix;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c;
-                       uae_u32 col;
-                       c = *cp;
-                       clxdat |= bplcoltable[c];
-                       cp += cpadds[0];
-                       c ^= bxor;
-                       col = colors_aga[c];
-                       *buf1++ = col;
-                       gpix = get_genlock_transparency_fast(c);
-                       *gbuf++ = gpix;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_aga_dpf_ishres_dlores_b1_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u32 *colors_aga = (uae_u32*)ls->linecolorstate;
-       uae_u8 bxor = ls->bplcon4 >> 8;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       uae_u8 gpix = get_genlock_transparency_border_fast(ls->bplcon3);
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       gbuf++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *gbuf++ = gpix;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c;
-                       uae_u32 col;
-                       c = *cp;
-                       clxdat |= bplcoltable[c];
-                       cp += cpadds[0];
-                       {
-                               uae_u8 dpval = dpf_lookup[c];
-                               if (dpf_lookup_no[c]) {
-                                       dpval += dblpfofs[bpldualpf2of];
-                               }
-                               dpval ^= bxor;
-                               col = colors_aga[dpval];
-                       }
-                       *buf1++ = col;
-                       gpix = get_genlock_transparency_fast(c);
-                       *gbuf++ = gpix;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_aga_ehb_ishres_dlores_b1_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u32 *colors_aga = (uae_u32*)ls->linecolorstate;
-       uae_u8 bxor = ls->bplcon4 >> 8;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       uae_u8 gpix = get_genlock_transparency_border_fast(ls->bplcon3);
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       gbuf++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *gbuf++ = gpix;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c;
-                       uae_u32 col;
-                       c = *cp;
-                       clxdat |= bplcoltable[c];
-                       cp += cpadds[0];
-                       c ^= bxor;
-                       if (c & 0x20) {
-                               uae_u32 v = (colors_aga[c & 31] >> 1) & 0x7f7f7f;
-                               col = CONVERT_RGB(v);
-                       } else {
-                               col = colors_aga[c];
-                       }
-                       *buf1++ = col;
-                       gpix = get_genlock_transparency_fast(c);
-                       *gbuf++ = gpix;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_aga_ham_ishres_dlores_b1_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u32 *colors_aga = (uae_u32*)ls->linecolorstate;
-       uae_u8 bxor = ls->bplcon4 >> 8;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       uae_u8 gpix = get_genlock_transparency_border_fast(ls->bplcon3);
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       gbuf++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *gbuf++ = gpix;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c;
-                       uae_u32 col;
-                       c = *cp;
-                       clxdat |= bplcoltable[c];
-                       cp += cpadds[0];
-                       col = decode_ham_pixel_aga_fast(c, planes, bxor, colors_aga);
-                       *buf1++ = col;
-                       gpix = get_genlock_transparency_fast(c);
-                       *gbuf++ = gpix;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_aga_kehb_ishres_dlores_b1_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u32 *colors_aga = (uae_u32*)ls->linecolorstate;
-       uae_u8 bxor = ls->bplcon4 >> 8;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       uae_u8 gpix = get_genlock_transparency_border_fast(ls->bplcon3);
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       gbuf++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *gbuf++ = gpix;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c;
-                       uae_u32 col;
-                       c = *cp;
-                       clxdat |= bplcoltable[c];
-                       cp += cpadds[0];
-                       c ^= bxor;
-                       col = colors_aga[c & 31];
-                       *buf1++ = col;
-                       gpix = get_genlock_transparency_fast(c);
-                       *gbuf++ = gpix;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_aga_n_ilores_dhires_b1_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
@@ -3306,288 +3056,23 @@ static void lts_aga_kehb_ihires_dlores_b2_genlock(int draw_start, int draw_end,
 }
 static void lts_aga_n_ishres_dlores_b2_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u32 *colors_aga = (uae_u32*)ls->linecolorstate;
-       uae_u8 bxor = ls->bplcon4 >> 8;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       uae_u8 gpix = get_genlock_transparency_border_fast(ls->bplcon3);
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       buf2++;
-                                       gbuf++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *buf2++ = bgcolor;
-                                       *gbuf++ = gpix;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c;
-                       uae_u32 col;
-                       c = *cp;
-                       clxdat |= bplcoltable[c];
-                       cp += cpadds[0];
-                       c ^= bxor;
-                       col = colors_aga[c];
-                       *buf1++ = col;
-                       *buf2++ = col;
-                       gpix = get_genlock_transparency_fast(c);
-                       *gbuf++ = gpix;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_aga_dpf_ishres_dlores_b2_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u32 *colors_aga = (uae_u32*)ls->linecolorstate;
-       uae_u8 bxor = ls->bplcon4 >> 8;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       uae_u8 gpix = get_genlock_transparency_border_fast(ls->bplcon3);
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       buf2++;
-                                       gbuf++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *buf2++ = bgcolor;
-                                       *gbuf++ = gpix;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c;
-                       uae_u32 col;
-                       c = *cp;
-                       clxdat |= bplcoltable[c];
-                       cp += cpadds[0];
-                       {
-                               uae_u8 dpval = dpf_lookup[c];
-                               if (dpf_lookup_no[c]) {
-                                       dpval += dblpfofs[bpldualpf2of];
-                               }
-                               dpval ^= bxor;
-                               col = colors_aga[dpval];
-                       }
-                       *buf1++ = col;
-                       *buf2++ = col;
-                       gpix = get_genlock_transparency_fast(c);
-                       *gbuf++ = gpix;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_aga_ehb_ishres_dlores_b2_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u32 *colors_aga = (uae_u32*)ls->linecolorstate;
-       uae_u8 bxor = ls->bplcon4 >> 8;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       uae_u8 gpix = get_genlock_transparency_border_fast(ls->bplcon3);
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       buf2++;
-                                       gbuf++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *buf2++ = bgcolor;
-                                       *gbuf++ = gpix;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c;
-                       uae_u32 col;
-                       c = *cp;
-                       clxdat |= bplcoltable[c];
-                       cp += cpadds[0];
-                       c ^= bxor;
-                       if (c & 0x20) {
-                               uae_u32 v = (colors_aga[c & 31] >> 1) & 0x7f7f7f;
-                               col = CONVERT_RGB(v);
-                       } else {
-                               col = colors_aga[c];
-                       }
-                       *buf1++ = col;
-                       *buf2++ = col;
-                       gpix = get_genlock_transparency_fast(c);
-                       *gbuf++ = gpix;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_aga_ham_ishres_dlores_b2_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u32 *colors_aga = (uae_u32*)ls->linecolorstate;
-       uae_u8 bxor = ls->bplcon4 >> 8;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       uae_u8 gpix = get_genlock_transparency_border_fast(ls->bplcon3);
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       buf2++;
-                                       gbuf++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *buf2++ = bgcolor;
-                                       *gbuf++ = gpix;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c;
-                       uae_u32 col;
-                       c = *cp;
-                       clxdat |= bplcoltable[c];
-                       cp += cpadds[0];
-                       col = decode_ham_pixel_aga_fast(c, planes, bxor, colors_aga);
-                       *buf1++ = col;
-                       *buf2++ = col;
-                       gpix = get_genlock_transparency_fast(c);
-                       *gbuf++ = gpix;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_aga_kehb_ishres_dlores_b2_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u32 *colors_aga = (uae_u32*)ls->linecolorstate;
-       uae_u8 bxor = ls->bplcon4 >> 8;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       uae_u8 gpix = get_genlock_transparency_border_fast(ls->bplcon3);
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       buf2++;
-                                       gbuf++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *buf2++ = bgcolor;
-                                       *gbuf++ = gpix;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c;
-                       uae_u32 col;
-                       c = *cp;
-                       clxdat |= bplcoltable[c];
-                       cp += cpadds[0];
-                       c ^= bxor;
-                       col = colors_aga[c & 31];
-                       *buf1++ = col;
-                       *buf2++ = col;
-                       gpix = get_genlock_transparency_fast(c);
-                       *gbuf++ = gpix;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_aga_n_ilores_dhires_b2_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
index c46a7fbcc020288237bbe1172e409c1e6f9e2e7f..54b3d3635250477b1537c385b39ccea2858d8e7b 100644 (file)
@@ -472,223 +472,23 @@ static void lts_ecs_kehb_ihires_dlores_b1(int draw_start, int draw_end, int draw
 }
 static void lts_ecs_n_ishres_dlores_b1(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u16 *colors_ocs = (uae_u16*)ls->linecolorstate;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c0 = *cp++;
-                       uae_u8 c1 = *cp++;
-                       cp += 2;
-                       uae_u32 dpix_val0, dpix_val1;
-                       get_shres_pix(c0, c1, &dpix_val0, &dpix_val1);
-                       *buf1++ = dpix_val0;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_ecs_dpf_ishres_dlores_b1(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u16 *colors_ocs = (uae_u16*)ls->linecolorstate;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c0 = *cp++;
-                       uae_u8 c1 = *cp++;
-                       cp += 2;
-                       uae_u32 dpix_val0, dpix_val1;
-                       get_shres_pix(c0, c1, &dpix_val0, &dpix_val1);
-                       *buf1++ = dpix_val0;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_ecs_ehb_ishres_dlores_b1(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u16 *colors_ocs = (uae_u16*)ls->linecolorstate;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c0 = *cp++;
-                       uae_u8 c1 = *cp++;
-                       cp += 2;
-                       uae_u32 dpix_val0, dpix_val1;
-                       get_shres_pix(c0, c1, &dpix_val0, &dpix_val1);
-                       *buf1++ = dpix_val0;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_ecs_ham_ishres_dlores_b1(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u16 *colors_ocs = (uae_u16*)ls->linecolorstate;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c0 = *cp++;
-                       uae_u8 c1 = *cp++;
-                       cp += 2;
-                       uae_u32 dpix_val0, dpix_val1;
-                       get_shres_pix(c0, c1, &dpix_val0, &dpix_val1);
-                       *buf1++ = dpix_val0;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_ecs_kehb_ishres_dlores_b1(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u16 *colors_ocs = (uae_u16*)ls->linecolorstate;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c0 = *cp++;
-                       uae_u8 c1 = *cp++;
-                       cp += 2;
-                       uae_u32 dpix_val0, dpix_val1;
-                       get_shres_pix(c0, c1, &dpix_val0, &dpix_val1);
-                       *buf1++ = dpix_val0;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_ecs_n_ilores_dhires_b1(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
@@ -2725,238 +2525,23 @@ static void lts_ecs_kehb_ihires_dlores_b2(int draw_start, int draw_end, int draw
 }
 static void lts_ecs_n_ishres_dlores_b2(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u16 *colors_ocs = (uae_u16*)ls->linecolorstate;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       buf2++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *buf2++ = bgcolor;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c0 = *cp++;
-                       uae_u8 c1 = *cp++;
-                       cp += 2;
-                       uae_u32 dpix_val0, dpix_val1;
-                       get_shres_pix(c0, c1, &dpix_val0, &dpix_val1);
-                       *buf1++ = dpix_val0;
-                       *buf2++ = dpix_val0;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_ecs_dpf_ishres_dlores_b2(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u16 *colors_ocs = (uae_u16*)ls->linecolorstate;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       buf2++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *buf2++ = bgcolor;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c0 = *cp++;
-                       uae_u8 c1 = *cp++;
-                       cp += 2;
-                       uae_u32 dpix_val0, dpix_val1;
-                       get_shres_pix(c0, c1, &dpix_val0, &dpix_val1);
-                       *buf1++ = dpix_val0;
-                       *buf2++ = dpix_val0;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_ecs_ehb_ishres_dlores_b2(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u16 *colors_ocs = (uae_u16*)ls->linecolorstate;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       buf2++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *buf2++ = bgcolor;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c0 = *cp++;
-                       uae_u8 c1 = *cp++;
-                       cp += 2;
-                       uae_u32 dpix_val0, dpix_val1;
-                       get_shres_pix(c0, c1, &dpix_val0, &dpix_val1);
-                       *buf1++ = dpix_val0;
-                       *buf2++ = dpix_val0;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_ecs_ham_ishres_dlores_b2(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u16 *colors_ocs = (uae_u16*)ls->linecolorstate;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       buf2++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *buf2++ = bgcolor;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c0 = *cp++;
-                       uae_u8 c1 = *cp++;
-                       cp += 2;
-                       uae_u32 dpix_val0, dpix_val1;
-                       get_shres_pix(c0, c1, &dpix_val0, &dpix_val1);
-                       *buf1++ = dpix_val0;
-                       *buf2++ = dpix_val0;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_ecs_kehb_ishres_dlores_b2(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u16 *colors_ocs = (uae_u16*)ls->linecolorstate;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       buf2++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *buf2++ = bgcolor;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c0 = *cp++;
-                       uae_u8 c1 = *cp++;
-                       cp += 2;
-                       uae_u32 dpix_val0, dpix_val1;
-                       get_shres_pix(c0, c1, &dpix_val0, &dpix_val1);
-                       *buf1++ = dpix_val0;
-                       *buf2++ = dpix_val0;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_ecs_n_ilores_dhires_b2(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
index b51728767975357bf62748dda72eaa326bf7b8ca..cfcfe650f39701ff81de9303a0e3b6f3ccf488e6 100644 (file)
@@ -522,248 +522,23 @@ static void lts_ecs_kehb_ihires_dlores_b1_genlock(int draw_start, int draw_end,
 }
 static void lts_ecs_n_ishres_dlores_b1_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u16 *colors_ocs = (uae_u16*)ls->linecolorstate;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       uae_u8 gpix = get_genlock_transparency_border_fast(ls->bplcon3);
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       gbuf++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *gbuf++ = gpix;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c0 = *cp++;
-                       uae_u8 c1 = *cp++;
-                       cp += 2;
-                       uae_u32 dpix_val0, dpix_val1;
-                       uae_u8 gpix0, gpix1;
-                       get_shres_pix_genlock(c0, c1, &dpix_val0, &dpix_val1, &gpix0, &gpix1);
-                       *buf1++ = dpix_val0;
-                       *gbuf++ = gpix0;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_ecs_dpf_ishres_dlores_b1_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u16 *colors_ocs = (uae_u16*)ls->linecolorstate;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       uae_u8 gpix = get_genlock_transparency_border_fast(ls->bplcon3);
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       gbuf++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *gbuf++ = gpix;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c0 = *cp++;
-                       uae_u8 c1 = *cp++;
-                       cp += 2;
-                       uae_u32 dpix_val0, dpix_val1;
-                       uae_u8 gpix0, gpix1;
-                       get_shres_pix_genlock(c0, c1, &dpix_val0, &dpix_val1, &gpix0, &gpix1);
-                       *buf1++ = dpix_val0;
-                       *gbuf++ = gpix0;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_ecs_ehb_ishres_dlores_b1_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u16 *colors_ocs = (uae_u16*)ls->linecolorstate;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       uae_u8 gpix = get_genlock_transparency_border_fast(ls->bplcon3);
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       gbuf++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *gbuf++ = gpix;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c0 = *cp++;
-                       uae_u8 c1 = *cp++;
-                       cp += 2;
-                       uae_u32 dpix_val0, dpix_val1;
-                       uae_u8 gpix0, gpix1;
-                       get_shres_pix_genlock(c0, c1, &dpix_val0, &dpix_val1, &gpix0, &gpix1);
-                       *buf1++ = dpix_val0;
-                       *gbuf++ = gpix0;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_ecs_ham_ishres_dlores_b1_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u16 *colors_ocs = (uae_u16*)ls->linecolorstate;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       uae_u8 gpix = get_genlock_transparency_border_fast(ls->bplcon3);
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       gbuf++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *gbuf++ = gpix;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c0 = *cp++;
-                       uae_u8 c1 = *cp++;
-                       cp += 2;
-                       uae_u32 dpix_val0, dpix_val1;
-                       uae_u8 gpix0, gpix1;
-                       get_shres_pix_genlock(c0, c1, &dpix_val0, &dpix_val1, &gpix0, &gpix1);
-                       *buf1++ = dpix_val0;
-                       *gbuf++ = gpix0;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_ecs_kehb_ishres_dlores_b1_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u16 *colors_ocs = (uae_u16*)ls->linecolorstate;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       uae_u8 gpix = get_genlock_transparency_border_fast(ls->bplcon3);
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       gbuf++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *gbuf++ = gpix;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c0 = *cp++;
-                       uae_u8 c1 = *cp++;
-                       cp += 2;
-                       uae_u32 dpix_val0, dpix_val1;
-                       uae_u8 gpix0, gpix1;
-                       get_shres_pix_genlock(c0, c1, &dpix_val0, &dpix_val1, &gpix0, &gpix1);
-                       *buf1++ = dpix_val0;
-                       *gbuf++ = gpix0;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_ecs_n_ilores_dhires_b1_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
@@ -3080,263 +2855,23 @@ static void lts_ecs_kehb_ihires_dlores_b2_genlock(int draw_start, int draw_end,
 }
 static void lts_ecs_n_ishres_dlores_b2_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u16 *colors_ocs = (uae_u16*)ls->linecolorstate;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       uae_u8 gpix = get_genlock_transparency_border_fast(ls->bplcon3);
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       buf2++;
-                                       gbuf++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *buf2++ = bgcolor;
-                                       *gbuf++ = gpix;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c0 = *cp++;
-                       uae_u8 c1 = *cp++;
-                       cp += 2;
-                       uae_u32 dpix_val0, dpix_val1;
-                       uae_u8 gpix0, gpix1;
-                       get_shres_pix_genlock(c0, c1, &dpix_val0, &dpix_val1, &gpix0, &gpix1);
-                       *buf1++ = dpix_val0;
-                       *buf2++ = dpix_val0;
-                       *gbuf++ = gpix0;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_ecs_dpf_ishres_dlores_b2_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u16 *colors_ocs = (uae_u16*)ls->linecolorstate;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       uae_u8 gpix = get_genlock_transparency_border_fast(ls->bplcon3);
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       buf2++;
-                                       gbuf++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *buf2++ = bgcolor;
-                                       *gbuf++ = gpix;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c0 = *cp++;
-                       uae_u8 c1 = *cp++;
-                       cp += 2;
-                       uae_u32 dpix_val0, dpix_val1;
-                       uae_u8 gpix0, gpix1;
-                       get_shres_pix_genlock(c0, c1, &dpix_val0, &dpix_val1, &gpix0, &gpix1);
-                       *buf1++ = dpix_val0;
-                       *buf2++ = dpix_val0;
-                       *gbuf++ = gpix0;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_ecs_ehb_ishres_dlores_b2_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u16 *colors_ocs = (uae_u16*)ls->linecolorstate;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       uae_u8 gpix = get_genlock_transparency_border_fast(ls->bplcon3);
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       buf2++;
-                                       gbuf++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *buf2++ = bgcolor;
-                                       *gbuf++ = gpix;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c0 = *cp++;
-                       uae_u8 c1 = *cp++;
-                       cp += 2;
-                       uae_u32 dpix_val0, dpix_val1;
-                       uae_u8 gpix0, gpix1;
-                       get_shres_pix_genlock(c0, c1, &dpix_val0, &dpix_val1, &gpix0, &gpix1);
-                       *buf1++ = dpix_val0;
-                       *buf2++ = dpix_val0;
-                       *gbuf++ = gpix0;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_ecs_ham_ishres_dlores_b2_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u16 *colors_ocs = (uae_u16*)ls->linecolorstate;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       uae_u8 gpix = get_genlock_transparency_border_fast(ls->bplcon3);
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       buf2++;
-                                       gbuf++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *buf2++ = bgcolor;
-                                       *gbuf++ = gpix;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c0 = *cp++;
-                       uae_u8 c1 = *cp++;
-                       cp += 2;
-                       uae_u32 dpix_val0, dpix_val1;
-                       uae_u8 gpix0, gpix1;
-                       get_shres_pix_genlock(c0, c1, &dpix_val0, &dpix_val1, &gpix0, &gpix1);
-                       *buf1++ = dpix_val0;
-                       *buf2++ = dpix_val0;
-                       *gbuf++ = gpix0;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_ecs_kehb_ishres_dlores_b2_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
-       uae_u16 *colors_ocs = (uae_u16*)ls->linecolorstate;
-       int bufaddv = 1 << bufadd;
-       int cpaddv = 1 << cpadd;
-       uae_u8 gpix = get_genlock_transparency_border_fast(ls->bplcon3);
-       int end = draw_end;
-       if (end > hbstrt_offset) {
-               end = hbstrt_offset;
-       }
-       int cnt = draw_end;
-       if (cnt > draw_startoffset) {
-               cnt = draw_startoffset;
-       }
-       if (cnt > hbstop_offset) {
-               cnt = hbstop_offset;
-       }
-       if (cnt > bpl1dat_trigger_offset) {
-               cnt = bpl1dat_trigger_offset;
-       }
-       while (cnt < end) {
-               bool bpl = false;
-               if (cnt < bpl1dat_trigger_offset || cnt < hstrt_offset || cnt >= hstop_offset) {
-                       if (cnt >= draw_startoffset) {
-                               if (cnt < hbstop_offset) {
-                                       buf1++;
-                                       buf2++;
-                                       gbuf++;
-                               } else {
-                                       *buf1++ = bgcolor;
-                                       *buf2++ = bgcolor;
-                                       *gbuf++ = gpix;
-                               }
-                       }
-               } else {
-                       bpl = true;
-                       uae_u8 c0 = *cp++;
-                       uae_u8 c1 = *cp++;
-                       cp += 2;
-                       uae_u32 dpix_val0, dpix_val1;
-                       uae_u8 gpix0, gpix1;
-                       get_shres_pix_genlock(c0, c1, &dpix_val0, &dpix_val1, &gpix0, &gpix1);
-                       *buf1++ = dpix_val0;
-                       *buf2++ = dpix_val0;
-                       *gbuf++ = gpix0;
-               }
-               if (cnt >= bpl1dat_trigger_offset && !bpl) {
-                       cp += cpaddv;
-               }
-               cnt += bufaddv;
-       }
+       lts_null();
 }
 static void lts_ecs_n_ilores_dhires_b2_genlock(int draw_start, int draw_end, int draw_startoffset, int hbstrt_offset, int hbstop_offset, int hstrt_offset, int hstop_offset,int bpl1dat_trigger_offset, int planes, uae_u32 bgcolor, uae_u8 *cp, uae_u8 *cp2, int cpadd, int *cpadds, int bufadd, struct linestate *ls)
 {
index 3a9b978883b5280fa38da6990a72135a3b86393b..58effc78c77b986149c3302b936c1195bca52c57 100644 (file)
@@ -4,72 +4,6 @@
 * This file was generated by genlinetoscr. Don't edit.
 */
 
-static void lts_ecs_shres_dlores(void)
-{
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       uae_u8 pix0 = 0;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       uae_u8 pix1 = 0;
-                       uae_u32 dpix_val1 = BLANK_COLOR;
-                       uae_u8 pix2 = 0;
-                       uae_u32 dpix_val2 = BLANK_COLOR;
-                       uae_u8 pix3 = 0;
-                       uae_u32 dpix_val3 = BLANK_COLOR;
-                       bool shifted = false;
-                       checkhorizontal1_ecs(denise_hcounter, denise_hcounter_next, h);
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor_ecs_shres;
-                               dpix_val1 = bordercolor_ecs_shres;
-                               dpix_val2 = bordercolor_ecs_shres;
-                               dpix_val3 = bordercolor_ecs_shres;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       shifted = true;
-                                       pix0 = getbpl2();
-                                       shiftbpl2();
-                                       pix1 = getbpl2();
-                                       shiftbpl2();
-                                       pix2 = getbpl2();
-                                       shiftbpl2();
-                                       pix3 = getbpl2();
-                                       shiftbpl2();
-                                       get_shres_pix(pix0, pix1, &dpix_val0, &dpix_val1);
-                                       get_shres_pix(pix2, pix3, &dpix_val2, &dpix_val3);
-                               }
-                       }
-                       if (!shifted) {
-                               shiftbpl2();
-                               shiftbpl2();
-                               shiftbpl2();
-                               shiftbpl2();
-                       }
-                       if (bpldat_copy[0] && (denise_hcounter & 3) == bplcon1_shift[0]) { 
-                               copybpl2();
-                       }
-                       internal_pixel_cnt += 4;
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
-}
 static void lts_ecs_shres_dhires(void)
 {
        while (denise_cck < denise_total) {
@@ -303,81 +237,10 @@ static void lts_ecs_shres_dshres(void)
        }
 }
 static LINETOSRC_FUNC linetoscr_ecs_shres_funcs[] = {
-       lts_ecs_shres_dlores,
        lts_ecs_shres_dhires,
        lts_ecs_shres_dshres,
        NULL
 };
-static void lts_ecs_shres_dlores_genlock(void)
-{
-       while (denise_cck < denise_total) {
-               do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
-               if (lts_changed) return;
-               for (int h = 0; h < 2; h++) {
-                       if (h) {
-                               denise_hcounter_next = denise_hcounter_new;
-                       }
-                       int cnt = denise_hcounter << 2;
-                       uae_u8 pix0 = 0;
-                       uae_u8 gpix0 = 0xff;
-                       uae_u32 dpix_val0 = BLANK_COLOR;
-                       uae_u8 pix1 = 0;
-                       uae_u8 gpix1 = 0xff;
-                       uae_u32 dpix_val1 = BLANK_COLOR;
-                       uae_u8 pix2 = 0;
-                       uae_u8 gpix2 = 0xff;
-                       uae_u32 dpix_val2 = BLANK_COLOR;
-                       uae_u8 pix3 = 0;
-                       uae_u8 gpix3 = 0xff;
-                       uae_u32 dpix_val3 = BLANK_COLOR;
-                       bool shifted = false;
-                       checkhorizontal1_ecs(denise_hcounter, denise_hcounter_next, h);
-                       if (!denise_blank_active) {
-                               dpix_val0 = bordercolor_ecs_shres;
-                               dpix_val1 = bordercolor_ecs_shres;
-                               dpix_val2 = bordercolor_ecs_shres;
-                               dpix_val3 = bordercolor_ecs_shres;
-                               if (denise_hdiw && bpl1dat_trigger) {
-                                       shifted = true;
-                                       pix0 = getbpl2();
-                                       shiftbpl2();
-                                       pix1 = getbpl2();
-                                       shiftbpl2();
-                                       pix2 = getbpl2();
-                                       shiftbpl2();
-                                       pix3 = getbpl2();
-                                       shiftbpl2();
-                                       get_shres_pix_genlock(pix0, pix1, &dpix_val0, &dpix_val1, &gpix0, &gpix1);
-                                       get_shres_pix_genlock(pix2, pix3, &dpix_val2, &dpix_val3, &gpix2, &gpix3);
-                               }
-                       }
-                       if (!shifted) {
-                               shiftbpl2();
-                               shiftbpl2();
-                               shiftbpl2();
-                               shiftbpl2();
-                       }
-                       if (bpldat_copy[0] && (denise_hcounter & 3) == bplcon1_shift[0]) { 
-                               copybpl2();
-                       }
-                       internal_pixel_cnt += 4;
-                       sprites_hidden = sprites_hidden2;
-                       #ifdef DEBUGGER
-                       *debug_dma_dhpos_odd = denise_hcounter;
-                       #endif
-                       denise_hcounter++;
-                       denise_hcounter &= 511;
-                       denise_hcounter_next++;
-                       denise_hcounter_next &= 511;
-               }
-               denise_pixtotal++;
-               if (denise_pixtotal == 0) {
-                       internal_pixel_start_cnt = internal_pixel_cnt;
-               }
-               denise_hcounter = denise_hcounter_new;
-               denise_cck++;
-       }
-}
 static void lts_ecs_shres_dhires_genlock(void)
 {
        while (denise_cck < denise_total) {
@@ -625,7 +488,6 @@ static void lts_ecs_shres_dshres_genlock(void)
        }
 }
 static LINETOSRC_FUNC linetoscr_ecs_shres_genlock_funcs[] = {
-       lts_ecs_shres_dlores_genlock,
        lts_ecs_shres_dhires_genlock,
        lts_ecs_shres_dshres_genlock,
        NULL