From: Toni Wilen Date: Mon, 31 Mar 2025 14:56:12 +0000 (+0300) Subject: Removed superhires on host lores support. X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=cc7eb8c4e42e29d14cde14cb4e8862dcca430460;p=francis%2Fwinuae.git Removed superhires on host lores support. --- diff --git a/drawing.cpp b/drawing.cpp index ecd2b808..3f8d4a8b 100644 --- a/drawing.cpp +++ b/drawing.cpp @@ -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 { diff --git a/genlinetoscr.cpp b/genlinetoscr.cpp index a487a536..56950f23 100644 --- a/genlinetoscr.cpp +++ b/genlinetoscr.cpp @@ -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"), diff --git a/linetoscr_aga_fast.cpp b/linetoscr_aga_fast.cpp index 6cce91c0..0769aee8 100644 --- a/linetoscr_aga_fast.cpp +++ b/linetoscr_aga_fast.cpp @@ -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) { diff --git a/linetoscr_aga_fm0.cpp b/linetoscr_aga_fm0.cpp index 9bae1590..59f19182 100644 --- a/linetoscr_aga_fm0.cpp +++ b/linetoscr_aga_fm0.cpp @@ -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) { diff --git a/linetoscr_aga_fm1.cpp b/linetoscr_aga_fm1.cpp index 54b93444..a6178775 100644 --- a/linetoscr_aga_fm1.cpp +++ b/linetoscr_aga_fm1.cpp @@ -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) { diff --git a/linetoscr_aga_fm1_genlock.cpp b/linetoscr_aga_fm1_genlock.cpp index daca8c5f..e6c8c261 100644 --- a/linetoscr_aga_fm1_genlock.cpp +++ b/linetoscr_aga_fm1_genlock.cpp @@ -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) { diff --git a/linetoscr_aga_fm2.cpp b/linetoscr_aga_fm2.cpp index 37c24359..dde13737 100644 --- a/linetoscr_aga_fm2.cpp +++ b/linetoscr_aga_fm2.cpp @@ -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) { diff --git a/linetoscr_aga_fm2_genlock.cpp b/linetoscr_aga_fm2_genlock.cpp index dc14d6d9..c24d3b04 100644 --- a/linetoscr_aga_fm2_genlock.cpp +++ b/linetoscr_aga_fm2_genlock.cpp @@ -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) { diff --git a/linetoscr_aga_genlock_fast.cpp b/linetoscr_aga_genlock_fast.cpp index 14b89ac2..2a79ffd2 100644 --- a/linetoscr_aga_genlock_fast.cpp +++ b/linetoscr_aga_genlock_fast.cpp @@ -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) { diff --git a/linetoscr_ecs_fast.cpp b/linetoscr_ecs_fast.cpp index c46a7fbc..54b3d363 100644 --- a/linetoscr_ecs_fast.cpp +++ b/linetoscr_ecs_fast.cpp @@ -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) { diff --git a/linetoscr_ecs_genlock_fast.cpp b/linetoscr_ecs_genlock_fast.cpp index b5172876..cfcfe650 100644 --- a/linetoscr_ecs_genlock_fast.cpp +++ b/linetoscr_ecs_genlock_fast.cpp @@ -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) { diff --git a/linetoscr_ecs_shres.cpp b/linetoscr_ecs_shres.cpp index 3a9b9788..58effc78 100644 --- a/linetoscr_ecs_shres.cpp +++ b/linetoscr_ecs_shres.cpp @@ -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