/*
* UAE - The portable Amiga emulator.
*
* This file was generated by genlinetoscr. Don't edit.
*/

static void lts_aga_fm1_n0_p2_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p2_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p2_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p2_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p2_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p2_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p2_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p2_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p2_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p2_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p2_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p2_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p2_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p2_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p2_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p2_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p2_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p2_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p2_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p2_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p4_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p4_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p4_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p4_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p4_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p4_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p4_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p4_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p4_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p4_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p4_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p4_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p4_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p4_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p4_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p4_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p4_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p4_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p4_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p4_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p6_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p6_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p6_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p6_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p6_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p6_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p6_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p6_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p6_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p6_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p6_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p6_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p6_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p6_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p6_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p6_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p6_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p6_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p6_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p6_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p8_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p8_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p8_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p8_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p8_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p8_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p8_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p8_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p8_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p8_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p8_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p8_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p8_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p8_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p8_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[0] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p8_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p8_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p8_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p8_ilores_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p8_ilores_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p2_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 127) == 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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p2_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p2_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == 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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p2_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p2_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 127) == 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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p2_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p2_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == 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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p2_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p2_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p2_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p2_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p2_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p2_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p2_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p2_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p2_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p2_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p2_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p2_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p2_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p4_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 127) == 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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p4_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p4_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == 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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p4_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p4_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 127) == 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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p4_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p4_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == 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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p4_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p4_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p4_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p4_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p4_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p4_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p4_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p4_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p4_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p4_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p4_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p4_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p4_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p6_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p6_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p6_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p6_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p6_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p6_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p6_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p6_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p6_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p6_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p6_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p6_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p6_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p6_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p6_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p6_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p6_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p6_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p6_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p6_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p8_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p8_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p8_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p8_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p8_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p8_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p8_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p8_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p8_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p8_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p8_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p8_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p8_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p8_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p8_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_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;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p8_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p8_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p8_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p8_ilores_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p8_ilores_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p2_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[0] = loaded_pix;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p2_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p2_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[0] = loaded_pix;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p2_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p2_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[0] = loaded_pix;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p2_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p2_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[0] = loaded_pix;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p2_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p2_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p2_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p2_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p2_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p2_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p2_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p2_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p2_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p2_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p2_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p2_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p2_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p4_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[0] = loaded_pix;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p4_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p4_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[0] = loaded_pix;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p4_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p4_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[0] = loaded_pix;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p4_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p4_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[0] = loaded_pix;
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p4_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p4_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p4_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p4_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p4_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p4_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p4_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p4_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p4_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p4_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p4_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p4_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p4_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p6_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = loaded_pix;
			shiftbpl6();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p6_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p6_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = loaded_pix;
			shiftbpl6();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p6_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p6_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = loaded_pix;
			shiftbpl6();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p6_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p6_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = loaded_pix;
			shiftbpl6();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p6_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p6_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = loaded_pix;
			shiftbpl6();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p6_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					if (!(pix1 & 0x20)) {
						dpix_val1 = denise_colors.acolors[pix1];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix1 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val1 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p6_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = loaded_pix;
			shiftbpl6();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p6_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					if (!(pix1 & 0x20)) {
						dpix_val1 = denise_colors.acolors[pix1];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix1 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val1 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p6_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p6_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p6_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p6_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p6_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = loaded_pix;
			shiftbpl6();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p6_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[pix1 & 31];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p6_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = loaded_pix;
			shiftbpl6();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p6_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[pix1 & 31];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p8_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[0] = loaded_pix;
			shiftbpl8();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p8_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p8_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[0] = loaded_pix;
			shiftbpl8();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p8_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p8_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[0] = loaded_pix;
			shiftbpl8();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p8_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p8_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[0] = loaded_pix;
			shiftbpl8();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p8_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p8_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p8_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p8_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p8_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p8_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[1] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p8_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p8_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[1] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p8_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p8_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p8_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p8_ihires_dlores(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p8_ihires_dlores_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 4;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p2_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == 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();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p2_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == 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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p2_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == 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();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p2_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == 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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p2_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == 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();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p2_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == 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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p2_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == 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();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p2_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == 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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p2_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p2_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p2_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p2_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p2_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p2_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p2_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p2_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p2_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p2_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p2_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p2_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p4_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == 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();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p4_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == 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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p4_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == 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();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p4_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == 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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == 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();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == 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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == 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();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == 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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p4_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p4_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p4_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p4_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p4_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p4_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p4_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p4_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p4_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p4_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p4_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p4_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p6_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_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;
			shiftbpl6();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p6_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p6_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_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;
			shiftbpl6();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p6_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p6_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_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;
			shiftbpl6();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p6_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p6_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_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;
			shiftbpl6();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p6_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p6_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_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;
			shiftbpl6();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p6_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					if (!(pix1 & 0x20)) {
						dpix_val1 = denise_colors.acolors[pix1];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix1 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val1 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p6_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_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;
			shiftbpl6();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p6_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					if (!(pix1 & 0x20)) {
						dpix_val1 = denise_colors.acolors[pix1];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix1 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val1 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p6_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p6_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p6_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p6_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p6_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_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;
			shiftbpl6();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p6_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[pix1 & 31];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p6_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_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;
			shiftbpl6();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p6_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[pix1 & 31];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p8_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_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;
			shiftbpl8();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p8_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p8_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_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;
			shiftbpl8();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p8_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_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;
			shiftbpl8();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_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;
			shiftbpl8();
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p8_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p8_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p8_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p8_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p8_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[1] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p8_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[1] = 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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[1] = 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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p8_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p8_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p8_ihires_dlores_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p8_ihires_dlores_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				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_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p2_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p2_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p2_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p2_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p2_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p2_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p2_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p2_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p2_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p2_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p2_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p2_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p2_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p2_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p2_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p2_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p2_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p2_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p2_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p2_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p4_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p4_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p4_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p4_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p4_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p4_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p4_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p4_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p4_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p4_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p4_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p4_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p4_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p4_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p4_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p4_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p4_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p4_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p4_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p4_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p6_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p6_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p6_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p6_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p6_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p6_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p6_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p6_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p6_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p6_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p6_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p6_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p6_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p6_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p6_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p6_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p6_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p6_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p6_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p6_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p8_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p8_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p8_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p8_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p8_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p8_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p8_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p8_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p8_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p8_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p8_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p8_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p8_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p8_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p8_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p8_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p8_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p8_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p8_ishres_dlores(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p8_ishres_dlores_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p2_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p2_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p2_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p2_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p2_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p2_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p2_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p2_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p2_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p2_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p2_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p2_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p2_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p2_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p2_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p2_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p2_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p2_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p2_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p2_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p4_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p4_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p4_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p4_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p4_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p4_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p4_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p4_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p4_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p4_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p4_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p4_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p4_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p4_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p4_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p4_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p4_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p4_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p4_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p4_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p6_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p6_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p6_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p6_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p6_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p6_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p6_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p6_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p6_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p6_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p6_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p6_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p6_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p6_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p6_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p6_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p6_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p6_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p6_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p6_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p8_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p8_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p8_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p8_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p8_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p8_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p8_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p8_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p8_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p8_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p8_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p8_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p8_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p8_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p8_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p8_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p8_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p8_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p8_ishres_dlores_spr(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p8_ishres_dlores_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p2_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p2_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p2_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p2_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p2_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p2_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p2_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p2_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p2_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p2_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p2_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p2_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p2_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p2_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p2_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p2_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p2_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p2_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p2_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p2_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p4_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p4_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p4_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p4_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p4_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p4_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p4_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p4_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p4_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p4_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p4_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p4_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p4_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p4_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p4_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p4_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p4_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p4_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p4_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p4_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p6_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p6_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p6_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p6_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p6_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p6_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p6_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p6_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p6_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					if (!(pix2 & 0x20)) {
						dpix_val2 = denise_colors.acolors[pix2];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix2 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val2 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p6_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p6_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					if (!(pix2 & 0x20)) {
						dpix_val2 = denise_colors.acolors[pix2];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix2 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val2 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p6_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p6_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p6_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p6_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p6_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p6_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[pix2 & 31];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p6_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p6_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[pix2 & 31];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p6_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p8_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p8_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p8_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p8_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p8_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p8_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p8_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p8_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p8_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p8_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p8_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p8_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p8_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p8_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p8_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p8_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p8_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p8_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p8_ilores_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p8_ilores_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p2_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p2_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p2_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p2_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p2_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p2_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p2_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p2_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p2_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p2_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p2_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p2_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p2_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p2_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p2_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p2_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p2_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p2_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p2_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p2_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p4_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p4_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p4_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p4_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p4_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p4_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p4_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p4_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p4_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p4_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p4_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p4_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p4_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p4_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p4_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p4_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p4_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p4_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p4_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p4_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p6_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p6_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p6_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p6_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p6_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p6_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p6_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p6_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p6_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					if (!(pix2 & 0x20)) {
						dpix_val2 = denise_colors.acolors[pix2];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix2 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val2 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p6_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p6_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					if (!(pix2 & 0x20)) {
						dpix_val2 = denise_colors.acolors[pix2];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix2 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val2 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p6_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p6_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p6_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p6_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p6_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p6_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[pix2 & 31];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p6_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p6_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[pix2 & 31];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p6_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p8_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p8_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p8_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p8_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p8_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p8_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p8_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p8_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p8_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p8_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p8_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p8_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p8_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p8_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p8_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p8_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p8_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p8_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p8_ilores_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p8_ilores_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p2_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p2_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p2_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p2_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p2_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p2_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p2_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p2_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p2_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p2_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p2_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p2_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p2_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p2_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p2_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p2_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p2_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p2_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p2_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p2_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p4_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p4_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p4_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p4_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p4_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p4_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p4_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p4_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p4_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p4_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p4_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p4_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p4_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p4_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p4_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p4_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p4_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p4_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p4_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p4_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p6_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p6_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p6_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p6_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p6_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p6_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p6_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p6_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p6_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					if (!(pix2 & 0x20)) {
						dpix_val2 = denise_colors.acolors[pix2];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix2 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val2 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix2;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p6_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p6_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					if (!(pix2 & 0x20)) {
						dpix_val2 = denise_colors.acolors[pix2];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix2 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val2 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix2;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p6_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p6_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p6_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p6_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p6_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p6_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[pix2 & 31];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p6_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p6_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[pix2 & 31];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p6_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p8_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p8_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p8_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p8_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p8_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p8_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p8_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p8_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p8_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p8_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p8_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p8_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p8_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p8_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p8_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p8_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p8_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p8_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p8_ihires_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p8_ihires_dhires_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p2_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == 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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p2_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p2_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == 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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p2_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p2_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == 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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p2_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p2_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == 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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p2_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p2_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p2_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p2_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p2_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p2_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p2_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p2_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p2_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p2_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p2_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p2_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p2_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p4_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == 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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p4_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p4_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == 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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p4_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p4_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == 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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p4_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p4_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == 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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p4_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p4_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p4_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p4_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p4_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p4_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p4_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p4_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p4_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p4_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p4_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p4_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p4_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p6_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p6_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p6_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p6_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p6_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p6_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p6_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p6_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p6_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					if (!(pix2 & 0x20)) {
						dpix_val2 = denise_colors.acolors[pix2];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix2 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val2 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix2;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p6_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p6_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					if (!(pix2 & 0x20)) {
						dpix_val2 = denise_colors.acolors[pix2];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix2 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val2 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix2;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p6_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p6_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p6_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p6_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p6_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p6_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[pix2 & 31];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
			}
			loaded_pix = getbpl6_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p6_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p6_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[pix2 & 31];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl6();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
			}
			loaded_pix = getbpl6_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p6_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p8_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p8_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p8_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p8_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p8_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p8_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p8_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p8_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p8_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p8_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p8_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p8_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p8_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
			}
			loaded_pix = getbpl8_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p8_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p8_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_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;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			shiftbpl8();
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
			}
			loaded_pix = getbpl8_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p8_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p8_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p8_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p8_ihires_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p8_ihires_dhires_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p2_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[0] = loaded_pix;
			shiftbpl2();
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[2] = loaded_pix;
			shiftbpl2();
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p2_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			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 && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p2_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[0] = loaded_pix;
			shiftbpl2();
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[2] = loaded_pix;
			shiftbpl2();
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p2_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			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 && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p2_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[0] = loaded_pix;
			shiftbpl2();
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[2] = loaded_pix;
			shiftbpl2();
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p2_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			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 && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p2_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[0] = loaded_pix;
			shiftbpl2();
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[2] = loaded_pix;
			shiftbpl2();
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p2_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			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 && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p2_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p2_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p2_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p2_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p2_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p2_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p2_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p2_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p2_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p2_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p2_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p2_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p4_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[0] = loaded_pix;
			shiftbpl4();
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[2] = loaded_pix;
			shiftbpl4();
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p4_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			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 && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p4_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[0] = loaded_pix;
			shiftbpl4();
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[2] = loaded_pix;
			shiftbpl4();
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p4_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			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 && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p4_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[0] = loaded_pix;
			shiftbpl4();
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[2] = loaded_pix;
			shiftbpl4();
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			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 && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p4_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[0] = loaded_pix;
			shiftbpl4();
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[2] = loaded_pix;
			shiftbpl4();
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			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 && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			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 && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p4_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p4_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p4_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p4_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p4_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p4_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p4_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p4_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p4_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p4_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p4_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p4_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p6_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p6_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p6_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p6_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p6_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p6_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p6_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p6_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p6_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p6_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p6_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p6_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p6_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p6_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p6_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p6_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p6_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p6_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p6_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p6_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p8_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p8_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p8_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p8_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p8_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p8_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p8_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p8_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p8_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p8_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p8_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p8_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p8_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p8_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p8_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p8_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p8_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p8_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p8_ishres_dhires(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p8_ishres_dhires_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p2_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 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();
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			shiftbpl2();
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p2_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			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 && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p2_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 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();
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			shiftbpl2();
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p2_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			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 && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p2_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 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();
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			shiftbpl2();
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p2_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			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 && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p2_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 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();
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			shiftbpl2();
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p2_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			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 && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p2_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p2_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p2_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p2_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p2_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p2_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p2_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p2_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p2_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p2_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p2_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p2_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p4_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 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();
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			shiftbpl4();
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			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 && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p4_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 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();
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			shiftbpl4();
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			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 && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 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();
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			shiftbpl4();
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			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 && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 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();
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			shiftbpl4();
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 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;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			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 && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p4_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p4_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p4_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p4_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p4_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p4_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p4_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p4_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p4_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p4_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p4_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p4_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p6_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p6_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p6_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p6_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p6_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p6_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p6_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p6_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p6_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p6_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p6_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p6_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p6_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p6_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p6_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p6_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p6_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p6_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p6_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p6_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p8_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p8_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p8_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p8_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p8_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p8_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p8_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p8_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p8_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p8_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p8_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p8_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p8_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p8_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p8_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p8_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p8_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p8_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p8_ishres_dhires_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 2;
			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;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p8_ishres_dhires_spr_filtered(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 2;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 2;
			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];
						dpix_val1 = dpix_val0;
					}
				}
				dpix_val0 = filter_pixel(dpix_val0, dpix_val1);
				dtbuf[h][0] = dpix_val0;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
						dpix_val3 = dpix_val2;
					}
				}
				dpix_val2 = filter_pixel(dpix_val2, dpix_val3);
				dtbuf[h][2] = dpix_val2;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p2_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p2_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p2_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p2_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p2_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p2_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p2_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p2_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p2_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p2_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p2_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p2_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p2_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p2_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p2_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p2_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p2_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p2_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p2_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p2_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p4_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p4_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p4_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p4_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p4_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p4_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p4_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p4_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p4_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p4_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p4_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p4_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p4_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p4_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p4_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p4_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p4_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p4_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p4_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p4_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p6_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p6_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p6_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p6_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p6_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p6_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p6_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p6_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p6_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					if (!(pix1 & 0x20)) {
						dpix_val1 = denise_colors.acolors[pix1];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix1 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val1 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					if (!(pix2 & 0x20)) {
						dpix_val2 = denise_colors.acolors[pix2];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix2 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val2 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					pix3 ^= bplcon4_denise_xor_val;
					if (!(pix3 & 0x20)) {
						dpix_val3 = denise_colors.acolors[pix3];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix3 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val3 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p6_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p6_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					if (!(pix1 & 0x20)) {
						dpix_val1 = denise_colors.acolors[pix1];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix1 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val1 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					if (!(pix2 & 0x20)) {
						dpix_val2 = denise_colors.acolors[pix2];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix2 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val2 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					pix3 ^= bplcon4_denise_xor_val;
					if (!(pix3 & 0x20)) {
						dpix_val3 = denise_colors.acolors[pix3];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix3 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val3 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p6_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p6_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = decode_ham_pixel_aga(pix3);
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p6_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p6_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = decode_ham_pixel_aga(pix3);
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p6_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p6_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[pix1 & 31];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[pix2 & 31];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					pix3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[pix3 & 31];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p6_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p6_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[pix1 & 31];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[pix2 & 31];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					pix3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[pix3 & 31];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p6_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p8_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p8_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p8_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p8_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p8_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p8_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p8_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p8_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p8_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p8_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p8_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p8_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p8_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = decode_ham_pixel_aga(pix3);
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p8_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p8_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = decode_ham_pixel_aga(pix3);
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p8_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p8_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p8_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p8_ilores_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p8_ilores_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p2_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p2_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p2_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p2_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p2_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p2_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p2_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p2_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p2_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p2_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p2_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p2_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p2_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p2_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p2_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p2_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p2_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p2_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p2_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p2_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p4_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p4_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p4_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p4_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p4_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p4_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p4_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p4_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p4_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p4_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p4_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p4_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p4_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p4_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p4_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p4_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p6_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p6_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p6_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p6_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p6_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p6_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p6_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p6_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p6_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					if (!(pix1 & 0x20)) {
						dpix_val1 = denise_colors.acolors[pix1];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix1 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val1 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					if (!(pix2 & 0x20)) {
						dpix_val2 = denise_colors.acolors[pix2];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix2 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val2 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					pix3 ^= bplcon4_denise_xor_val;
					if (!(pix3 & 0x20)) {
						dpix_val3 = denise_colors.acolors[pix3];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix3 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val3 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p6_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p6_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					if (!(pix1 & 0x20)) {
						dpix_val1 = denise_colors.acolors[pix1];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix1 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val1 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					if (!(pix2 & 0x20)) {
						dpix_val2 = denise_colors.acolors[pix2];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix2 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val2 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					pix3 ^= bplcon4_denise_xor_val;
					if (!(pix3 & 0x20)) {
						dpix_val3 = denise_colors.acolors[pix3];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix3 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val3 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p6_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p6_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = decode_ham_pixel_aga(pix3);
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p6_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p6_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = decode_ham_pixel_aga(pix3);
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p6_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p6_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[pix1 & 31];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[pix2 & 31];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					pix3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[pix3 & 31];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p6_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p6_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[pix1 & 31];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[pix2 & 31];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					pix3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[pix3 & 31];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p6_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p8_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p8_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p8_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p8_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p8_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p8_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p8_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p8_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p8_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = decode_ham_pixel_aga(pix3);
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p8_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p8_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = decode_ham_pixel_aga(pix3);
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 1;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 1;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 127) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p8_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p8_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p8_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p8_ilores_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p8_ilores_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p2_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p2_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p2_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p2_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p2_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p2_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p2_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p2_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p2_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p2_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p2_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p2_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p2_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p2_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p2_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p2_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p2_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p2_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p2_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p2_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p4_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p4_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p4_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p4_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p4_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p4_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p4_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p4_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p4_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p4_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p4_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p4_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p4_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p4_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p4_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p4_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p4_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p4_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p4_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p4_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p6_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p6_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p6_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p6_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p6_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p6_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p6_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p6_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p6_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					if (!(pix1 & 0x20)) {
						dpix_val1 = denise_colors.acolors[pix1];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix1 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val1 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					if (!(pix2 & 0x20)) {
						dpix_val2 = denise_colors.acolors[pix2];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix2 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val2 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					pix3 ^= bplcon4_denise_xor_val;
					if (!(pix3 & 0x20)) {
						dpix_val3 = denise_colors.acolors[pix3];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix3 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val3 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p6_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p6_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					if (!(pix1 & 0x20)) {
						dpix_val1 = denise_colors.acolors[pix1];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix1 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val1 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					if (!(pix2 & 0x20)) {
						dpix_val2 = denise_colors.acolors[pix2];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix2 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val2 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					pix3 ^= bplcon4_denise_xor_val;
					if (!(pix3 & 0x20)) {
						dpix_val3 = denise_colors.acolors[pix3];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix3 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val3 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p6_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p6_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = decode_ham_pixel_aga(pix3);
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p6_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p6_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = decode_ham_pixel_aga(pix3);
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p6_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p6_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[pix1 & 31];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[pix2 & 31];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					pix3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[pix3 & 31];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p6_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p6_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[pix1 & 31];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[pix2 & 31];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					pix3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[pix3 & 31];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p6_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p8_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p8_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p8_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p8_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p8_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p8_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p8_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p8_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p8_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p8_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p8_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p8_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p8_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = decode_ham_pixel_aga(pix3);
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p8_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p8_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = decode_ham_pixel_aga(pix3);
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p8_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p8_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p8_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p8_ihires_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p8_ihires_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p2_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p2_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p2_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p2_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p2_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p2_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p2_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl2e();
				loaded_pix = getbpl2_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl2o();
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl2_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl2_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p2_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p2_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p2_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p2_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p2_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p2_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p2_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p2_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p2_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p2_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p2_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p2_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p2_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p4_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p4_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p4_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p4_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl4e();
				loaded_pix = getbpl4_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl4o();
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl4_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl4_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p4_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p4_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p4_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p4_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p4_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p4_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p4_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p4_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p4_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p4_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p4_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p4_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p6_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p6_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p6_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p6_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p6_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p6_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p6_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p6_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p6_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					if (!(pix1 & 0x20)) {
						dpix_val1 = denise_colors.acolors[pix1];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix1 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val1 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					if (!(pix2 & 0x20)) {
						dpix_val2 = denise_colors.acolors[pix2];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix2 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val2 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					pix3 ^= bplcon4_denise_xor_val;
					if (!(pix3 & 0x20)) {
						dpix_val3 = denise_colors.acolors[pix3];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix3 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val3 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p6_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p6_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					if (!(pix1 & 0x20)) {
						dpix_val1 = denise_colors.acolors[pix1];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix1 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val1 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					if (!(pix2 & 0x20)) {
						dpix_val2 = denise_colors.acolors[pix2];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix2 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val2 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					pix3 ^= bplcon4_denise_xor_val;
					if (!(pix3 & 0x20)) {
						dpix_val3 = denise_colors.acolors[pix3];
					} else {
						uae_u32 v = (denise_colors.color_regs_aga[pix3 & 0x1f] >> 1) & 0x7f7f7f;
						dpix_val3 = CONVERT_RGB(v);
					}
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p6_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p6_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = decode_ham_pixel_aga(pix3);
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p6_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p6_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = decode_ham_pixel_aga(pix3);
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p6_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p6_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[pix1 & 31];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[pix2 & 31];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					pix3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[pix3 & 31];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p6_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p6_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					pix0 ^= bplcon4_denise_xor_val;
					dpix_val0 = denise_colors.acolors[pix0 & 31];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					pix1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[pix1 & 31];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					pix2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[pix2 & 31];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					pix3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[pix3 & 31];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl6e();
				loaded_pix = getbpl6_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl6o();
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl6e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl6_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl6o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl6_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p6_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p8_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p8_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p8_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p8_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p8_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p8_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p8_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p8_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p8_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = decode_ham_pixel_aga(pix3);
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p8_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p8_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					pix0 = loaded_pixs[0];
					clxdat |= bplcoltable[pix0];
					dpix_val0 = decode_ham_pixel_aga(pix0);
				}
				last_bpl_pix = pix0;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 0) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = decode_ham_pixel_aga(pix1);
				}
				last_bpl_pix = pix1;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 1) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = decode_ham_pixel_aga(pix2);
				}
				last_bpl_pix = pix2;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 2) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = decode_ham_pixel_aga(pix3);
				}
				last_bpl_pix = pix3;
			}
			bplshiftcnt[0] += 2;
			if (bplshiftcnt[0] >= 4) {
				bplshiftcnt[0] = 0;
				shiftbpl8e();
				loaded_pix = getbpl8_32(); 
			}
			bplshiftcnt[1] += 2;
			if (bplshiftcnt[1] >= 4) {
				bplshiftcnt[1] = 0;
				shiftbpl8o();
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[0] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[0]) { 
				copybpl8e();
				bplshiftcnt[0] = 0;
				loaded_pix = getbpl8_32(); 
			}
			if (bpldat_copy[1] && ((cmp | 3) & 63) == bplcon1_shift_full_masked[1]) {
				copybpl8o();
				bplshiftcnt[1] = 0;
				loaded_pix = getbpl8_32(); 
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p8_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p8_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p8_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p8_ihires_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p8_ihires_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p2_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p2_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p2_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p2_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p2_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p2_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p2_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p2_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p2_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p2_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p2_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p2_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p2_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p2_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p2_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p2_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p2_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p2_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p2_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p2_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p4_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p4_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p4_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p4_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p4_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p4_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p4_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[0] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p4_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p4_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p4_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p4_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p4_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p4_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p4_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p4_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p4_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p4_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p4_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p4_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p4_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p6_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p6_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p6_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p6_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p6_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p6_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p6_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p6_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p6_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p6_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p6_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p6_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p6_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p6_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p6_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p6_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p6_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p6_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p6_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p6_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p8_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p8_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p8_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p8_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p8_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p8_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p8_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p8_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p8_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p8_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p8_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p8_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p8_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p8_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p8_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p8_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p8_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p8_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p8_ishres_dshres(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			internal_pixel_cnt += 1;
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			internal_pixel_cnt += 1;
			if (denise_pixtotal >= 0 && denise_pixtotal < denise_pixtotal_max) {
				dtbuf[h][0] = dpix_val0;
				dtbuf[h][1] = dpix_val1;
				dtbuf[h][2] = dpix_val2;
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p8_ishres_dshres_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p2_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p2_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p2_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p2_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p2_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p2_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p2_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl2();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl2e();
			}
			if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl2o();
			}
			loaded_pix = getbpl2_32(); 
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p2_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p2_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p2_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p2_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p2_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p2_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p2_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p2_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p2_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p2_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p2_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p2_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p2_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p4_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p4_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p4_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p4_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_hcounter_new;
			}
			int cnt = denise_hcounter << 2;
			int cnt_next = denise_hcounter_next << 2;
			int cmp = denise_hcounter_cmp << 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 && !diw_disable) {
					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] && ((cmp | 0) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 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;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix1 = loaded_pixs[1];
					clxdat |= bplcoltable[pix1];
					uae_u8 val1 = dpf_lookup[pix1];
					if (dpf_lookup_no[pix1]) {
						val1 += dblpfofs[bpldualpf2of];
					}
					val1 ^= bplcon4_denise_xor_val;
					dpix_val1 = denise_colors.acolors[val1];
				}
				last_bpl_pix = pix1;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 1) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			loaded_pixs[1] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix2 = loaded_pixs[2];
					clxdat |= bplcoltable[pix2];
					uae_u8 val2 = dpf_lookup[pix2];
					if (dpf_lookup_no[pix2]) {
						val2 += dblpfofs[bpldualpf2of];
					}
					val2 ^= bplcon4_denise_xor_val;
					dpix_val2 = denise_colors.acolors[val2];
				}
				last_bpl_pix = pix2;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 2) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			loaded_pixs[2] = loaded_pix;
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
				if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
					pix3 = loaded_pixs[3];
					clxdat |= bplcoltable[pix3];
					uae_u8 val3 = dpf_lookup[pix3];
					if (dpf_lookup_no[pix3]) {
						val3 += dblpfofs[bpldualpf2of];
					}
					val3 ^= bplcon4_denise_xor_val;
					dpix_val3 = denise_colors.acolors[val3];
				}
				last_bpl_pix = pix3;
			}
			shiftbpl4();
			if (bpldat_copy[0] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[0]) { 
				copybpl4e();
			}
			if (bpldat_copy[1] && ((cmp | 3) & 31) == bplcon1_shift_full_masked[1]) {
				copybpl4o();
			}
			loaded_pix = getbpl4_32(); 
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			loaded_pixs[3] = loaded_pix;
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p4_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p4_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p4_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p4_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p4_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p4_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p4_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p4_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p4_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p4_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p4_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p4_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p6_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p6_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p6_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p6_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p6_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p6_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p6_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p6_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p6_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p6_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p6_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p6_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p6_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p6_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p6_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p6_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p6_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p6_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p6_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p6_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n0_p8_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n0_p8_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_n1_p8_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_n1_p8_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf0_p8_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf0_p8_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_dpf1_p8_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_dpf1_p8_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb0_p8_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb0_p8_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ehb1_p8_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ehb1_p8_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham0_p8_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham0_p8_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_ham1_p8_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_ham1_p8_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb0_p8_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb0_p8_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
static void lts_aga_fm1_kehb1_p8_ishres_dshres_spr(void)
{
	while (denise_cck < denise_endcycle) {
		do_denise_cck(denise_linecnt, denise_startpos, denise_cck);
		if (lts_changed) return;
		for (int h = 0; h < 2; h++) {
			if (h) {
				denise_hcounter_next = denise_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;
			}
			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;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 1);
			uae_u8 pix1 = 0;
			uae_u32 dpix_val1 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val1 = bordercolor;
			}
			uae_u32 sv1 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv1 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 2);
			uae_u8 pix2 = 0;
			uae_u32 dpix_val2 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val2 = bordercolor;
			}
			uae_u32 sv2 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv2 = svt;
				}
			}
			internal_pixel_cnt += 1;
			matchsprites_aga(cnt + 3);
			uae_u8 pix3 = 0;
			uae_u32 dpix_val3 = BLANK_COLOR;
			if (!denise_blank_active) {
				dpix_val3 = bordercolor;
			}
			uae_u32 sv3 = 0;
			if (denise_spr_nr_armeds) {
				uae_u32 svt;
				svt = denise_render_sprites_aga(denise_spr_add);
				if (!denise_sprite_blank_active && !sprites_hidden) {
					sv3 = svt;
				}
			}
			internal_pixel_cnt += 1;
			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;
				if (sv1) {
					uae_u32 spix1 = denise_render_sprites2(pix1, sv1);
					if (spix1) {
						dpix_val1 = denise_colors.acolors[spix1];
					}
				}
				dtbuf[h][1] = dpix_val1;
				if (sv2) {
					uae_u32 spix2 = denise_render_sprites2(pix2, sv2);
					if (spix2) {
						dpix_val2 = denise_colors.acolors[spix2];
					}
				}
				dtbuf[h][2] = dpix_val2;
				if (sv3) {
					uae_u32 spix3 = denise_render_sprites2(pix3, sv3);
					if (spix3) {
						dpix_val3 = denise_colors.acolors[spix3];
					}
				}
				dtbuf[h][3] = dpix_val3;
				uae_u32 t0 = dtbuf[h ^ lol][0]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t0 = decode_denise_specials_debug(t0, cnt + 0);
				}
				#endif
				*buf1++ = t0;
				*buf2++ = t0;
				uae_u32 t1 = dtbuf[h ^ lol][1]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t1 = decode_denise_specials_debug(t1, cnt + 1);
				}
				#endif
				*buf1++ = t1;
				*buf2++ = t1;
				uae_u32 t2 = dtbuf[h ^ lol][2]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t2 = decode_denise_specials_debug(t2, cnt + 2);
				}
				#endif
				*buf1++ = t2;
				*buf2++ = t2;
				uae_u32 t3 = dtbuf[h ^ lol][3]; 
				#ifdef DEBUGGER
				if (decode_specials_debug) {
					t3 = decode_denise_specials_debug(t3, cnt + 3);
				}
				#endif
				*buf1++ = t3;
				*buf2++ = t3;
			}
			sprites_hidden = sprites_hidden2;
			#ifdef DEBUGGER
			*debug_dma_dhpos_odd = denise_hcounter;
			#endif
			denise_hcounter_cmp++;
			denise_hcounter_cmp &= 511;
			denise_hcounter++;
			denise_hcounter &= 511;
			denise_hcounter_next++;
			denise_hcounter_next &= 511;
			denise_pixtotal++;
		}
		if (denise_pixtotal == 0) {
			internal_pixel_start_cnt = internal_pixel_cnt;
		}
		denise_hcounter = denise_hcounter_new;
		if (denise_accurate_mode) {
			denise_hcounter_cmp = denise_hcounter_new;
		}
		denise_cck++;
	}
}
static void lts_aga_fm1_kehb1_p8_ishres_dshres_spr_filtered(void)
{
	lts_null();
}
