} 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 {
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"),
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) {
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;
}
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"),
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
}
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)
{
* 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) {
}
}
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) {
}
}
static LINETOSRC_FUNC linetoscr_ecs_shres_genlock_funcs[] = {
- lts_ecs_shres_dlores_genlock,
lts_ecs_shres_dhires_genlock,
lts_ecs_shres_dshres_genlock,
NULL