]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Remove interlace artifacts wip
authorToni Wilen <twilen@winuae.net>
Fri, 22 May 2026 15:22:40 +0000 (18:22 +0300)
committerToni Wilen <twilen@winuae.net>
Fri, 22 May 2026 15:22:40 +0000 (18:22 +0300)
15 files changed:
custom.cpp
drawing.cpp
genlinetoscr.cpp
include/drawing.h
linetoscr_aga_fm0.cpp
linetoscr_aga_fm0_genlock.cpp
linetoscr_aga_fm1.cpp
linetoscr_aga_fm1_genlock.cpp
linetoscr_aga_fm2.cpp
linetoscr_aga_fm2_genlock.cpp
linetoscr_ecs_shres.cpp
linetoscr_ocs_ecs.cpp
linetoscr_ocs_ecs_genlock.cpp
linetoscr_ocs_ecs_ntsc.cpp
linetoscr_ocs_ecs_ntsc_genlock.cpp

index acea862df5dc4b5fe0d5ab7814aeb32c2d3df6d1..d518b384c3ee020f758df9861980bd7fe9a03830 100644 (file)
@@ -123,8 +123,7 @@ static evt_t agnus_trigger_cck;
 static int init_beamcon_delay;
 
 static uae_u32 scandoubled_bpl_ptr[MAX_SCANDOUBLED_LINES + 1][2][MAX_PLANES];
-static bool scandoubled_bpl_ptr_active[MAX_SCANDOUBLED_LINES + 1][2];
-static bool scandoubled_bpl_ena[MAX_SCANDOUBLED_LINES + 1];
+static int scandoubled_bpl_ptr_active[MAX_SCANDOUBLED_LINES + 1][2];
 
 static evt_t blitter_dma_change_cycle, copper_dma_change_cycle, sprite_dma_change_cycle_on, sprite_dma_change_cycle_off;
 
@@ -4070,13 +4069,13 @@ static void CLXCON2(uae_u16 v)
        clxcon2 = v;
 }
 
-static void draw_line(int, bool);
+static void draw_line(int, bool, bool);
 static uae_u16 CLXDAT(void)
 {
        // draw line up to current horizontal position to get accurate collision state
        if (currprefs.cpu_memory_cycle_exact && currprefs.m68k_speed >= 0 && !doflickerfix_active()) {
                int ldvpos = linear_display_vpos + draw_line_next_line;
-               draw_line(ldvpos, false);
+               draw_line(ldvpos, false, false);
        }
        draw_denise_line_queue_flush();
        uae_u16 v = clxdat | 0x8000;
@@ -4283,12 +4282,22 @@ static void bpl_autoscale(void)
        }
 }
 
+static void update_bpl_scandoubler(void)
+{
+       for (int i = 0; i < MAX_PLANES; i++) {
+               scandoubled_bpl_ptr[linear_vpos][lof_store][i] = bplpt[i];
+       }
+       scandoubled_bpl_ptr_active[linear_vpos][lof_store] = 3;
+}
+
 static void bprun_start(int hpos)
 {
        if (bplcon0_planes > 0 && ddffirstword_total > hpos) {
                ddffirstword_total = hpos + 4 + 8;
        }
-
+       if (currprefs.gfx_scandoubler && linear_vpos < MAX_SCANDOUBLED_LINES) {
+               update_bpl_scandoubler();
+       }
        bpl_autoscale();
 }
 
@@ -9351,14 +9360,6 @@ static void generate_bpl(bool clock)
        }
 }
 
-static void update_bpl_scandoubler(void)
-{
-       for (int i = 0; i < MAX_PLANES; i++) {
-               scandoubled_bpl_ptr[linear_vpos][lof_store][i] = bplpt[i];
-       }
-       scandoubled_bpl_ptr_active[linear_vpos][lof_store] = true;
-}
-
 static void decide_bpl(int hpos)
 {
        bool diw = vdiwstate == diw_states::DIW_waiting_stop;
@@ -9398,9 +9399,6 @@ static void decide_bpl(int hpos)
                // DDFSTRT (odd cycle)
                if ((hpos == ddfstrt_val && cyc > ddfstrt_cycle) || (hpos == ddfstrt_val_old && cyc < ddfstrt_cycle)) {
                        ddf_enable_on = 1;
-                       if (currprefs.gfx_scandoubler && linear_vpos < MAX_SCANDOUBLED_LINES) {
-                               update_bpl_scandoubler();
-                       }
                        if (ddf_stopping < 0) {
                                ddf_stopping = 0;
                        }
@@ -9543,9 +9541,6 @@ static void decide_bpl(int hpos)
                // DDFSTRT
                if ((hpos == ddfstrt_val && cyc > ddfstrt_cycle) || (hpos == ddfstrt_val_old && cyc < ddfstrt_cycle)) {
                        ddfstrt_match = true;
-                       if (currprefs.gfx_scandoubler && linear_vpos < MAX_SCANDOUBLED_LINES) {
-                               update_bpl_scandoubler();
-                       }
 #ifdef DEBUGGER
                        if (debug_dma) {
                                record_dma_event(DMA_EVENT_DDFSTRT);
@@ -9619,9 +9614,6 @@ static void check_bpl_vdiw(void)
                }
 #endif
        }
-       if (linear_vpos < MAX_SCANDOUBLED_LINES) {
-               scandoubled_bpl_ena[linear_vpos] = vdiwstate != diw_states::DIW_waiting_start;
-       }
 }
 
 static void generate_sprites(int num, int slot)
@@ -10175,28 +10167,34 @@ static void check_vsyncs(void)
        }
 }
 
-static void do_scandouble(void)
+static uae_u64 olddat[DENISE_RGA_SLOT_TOTAL / DENISE_RGA_SLOT_CHUNKS];
+static void do_scandouble(bool store)
 {
        if (linear_vpos >= MAX_SCANDOUBLED_LINES) {
                return;
        }
-       int l = lof_store;
+       int l = lof_display;
        int vp = linear_vpos;
        struct rgabuf rga = { 0 };
        for (int i = 0; i < rga_denise_cycle_count_end; i++) {
                int idx = (i + rga_denise_cycle_start) & DENISE_RGA_SLOT_MASK;
                struct denise_rga *rd = &rga_denise[idx];
-               if (rd->rga >= 0x110 && rd->rga < 0x120) {
-                       int plane = (rd->rga - 0x110) / 2;
-                       uaecptr l1 = scandoubled_bpl_ptr[vp][l][plane];
-                       uaecptr l2 = scandoubled_bpl_ptr[vp][l ^ 1][plane];
-                       rga.pv = rd->pt - l1 + l2;
-                       if (fetchmode_fmode_bpl == 3) {
-                               rd->v64 = fetch64(&rga);
-                       } else if (fetchmode_fmode_bpl > 0) {
-                               rd->v = fetch32_bpl(&rga);
+               if (rd->line == rga_denise_cycle_line && rd->rga >= 0x110 && rd->rga < 0x120) {
+                       if (store) {
+                               int plane = (rd->rga - 0x110) / 2;
+                               uaecptr l1 = scandoubled_bpl_ptr[vp][l][plane];
+                               uaecptr l2 = scandoubled_bpl_ptr[vp][l ^ 1][plane];
+                               olddat[i] = rd->v64;
+                               rga.pv = rd->pt - l1 + l2;
+                               if (fetchmode_fmode_bpl == 3) {
+                                       rd->v64 = fetch64(&rga);
+                               } else if (fetchmode_fmode_bpl > 0) {
+                                       rd->v = fetch32_bpl(&rga);
+                               } else {
+                                       rd->v = fetch16(&rga);
+                               }
                        } else {
-                               rd->v = fetch16(&rga);
+                               rd->v64 = olddat[i];
                        }
                }
        }
@@ -10525,7 +10523,7 @@ static bool checkprevfieldlinestateequal(void)
                                        int planes = GET_PLANES(l->bplcon0);
 
                                        // first line after accurate -> fast switch
-                                       if (doflickerfix_active() && custom_fastmode == 1 && lvpos >= 2 && scandoubled_bpl_ena[lvpos]) {
+                                       if (doflickerfix_active() && custom_fastmode == 1 && lvpos >= 2 && scandoubled_bpl_ptr_active[lvpos][lof_display] > 0) {
                                                lof_display ^= 1;
                                                int lvpos2 = lvpos - 1;
                                                struct linestate *l2 = &lines[lvpos2][lof_display];
@@ -10547,7 +10545,7 @@ static bool checkprevfieldlinestateequal(void)
 
                                        r = draw_line_fast(l, linear_display_vpos + 1, bplpt, true);
                                        if (doflickerfix_active()) {
-                                               if (scandoubled_bpl_ena[lvpos]) {
+                                               if (scandoubled_bpl_ptr_active[lvpos][lof_display] > 0 ) {
                                                        lof_display ^= 1;
                                                        struct linestate *l2 = &lines[lvpos][lof_display];
                                                        uaecptr bplptx[MAX_PLANES];
@@ -10574,7 +10572,7 @@ static bool checkprevfieldlinestateequal(void)
        return ret;
 }
 
-static void draw_line(int ldvpos, bool finalseg)
+static void draw_line(int ldvpos, bool finalseg, bool borderline)
 {
        int dvp = calculate_linetype(ldvpos);
        int wclks = draw_line_wclks;
@@ -10588,7 +10586,7 @@ static void draw_line(int ldvpos, bool finalseg)
        int calib_len = 2;
        draw_denise_line_queue(dvp, nextline_how, rga_denise_cycle_line, rga_denise_cycle_start, rga_denise_cycle, rga_denise_cycle_count_start, rga_denise_cycle_count_end,
                display_hstart_cyclewait_skip_start, display_hstart_cyclewait_skip_end,
-               wclks, calib_start, calib_len, lof_store, lol, display_hstart_fastmode - display_hstart_cyclewait_start, nosignal_status != 0, finalseg, l);
+               wclks, calib_start, calib_len, lof_store, lol, display_hstart_fastmode - display_hstart_cyclewait_start, nosignal_status != 0, borderline, finalseg, l);
        rga_denise_cycle_count_start = rga_denise_cycle_count_end;
 }
 
@@ -10637,26 +10635,41 @@ static void do_draw_line(void)
        if (!custom_disabled) {
                draw_line_wclks = linear_hpos - (display_hstart_cyclewait_skip_start - display_hstart_cyclewait_skip_end);
                if (custom_fastmode >= 0) {
-                       if (doflickerfix_active() && scandoubled_bpl_ena[linear_vpos]) {
-                               if (scandoubled_bpl_ptr_active[linear_vpos][lof_display]) {
+                       if (doflickerfix_active()) {
+                               if (!lof_display) {
+                                       lof_display ^= 1;
+                                       bool borderline1 = scandoubled_bpl_ptr_active[linear_vpos][lof_display] <= 0;
                                        denise_store_restore_registers_queue(true, rga_denise_cycle_line);
-                                       draw_line(linear_display_vpos, true);
-                                       draw_denise_line_queue_flush();
-                                       do_scandouble();
+                                       do_scandouble(true);
+                                       draw_line(linear_display_vpos, true, borderline1);
+                                       lof_display ^= 1;
                                        denise_store_restore_registers_queue(false, rga_denise_cycle_line);
+                                       draw_denise_line_queue_flush();
+                                       rga_denise_cycle_count_start = 0;
+                                       bool borderline2 = scandoubled_bpl_ptr_active[linear_vpos][lof_display] <= 0;
+                                       do_scandouble(false);
+                                       draw_line(linear_display_vpos, true, borderline2);
                                } else {
+                                       bool borderline1 = scandoubled_bpl_ptr_active[linear_vpos][lof_display] <= 0;
+                                       denise_store_restore_registers_queue(true, rga_denise_cycle_line);
+                                       draw_line(linear_display_vpos, true, borderline1);
                                        draw_denise_line_queue_flush();
-                                       do_scandouble();
+                                       lof_display ^= 1;
+                                       do_scandouble(true);
+                                       denise_store_restore_registers_queue(false, rga_denise_cycle_line);
+                                       rga_denise_cycle_count_start = 0;
+                                       bool borderline2 = scandoubled_bpl_ptr_active[linear_vpos][lof_display] <= 0;
+                                       draw_line(linear_display_vpos, true, borderline2);
+                                       lof_display ^= 1;
+                               }
+                               if (scandoubled_bpl_ptr_active[linear_vpos][0] > 0) {
+                                       scandoubled_bpl_ptr_active[linear_vpos][0]--;
                                }
-                               lof_display ^= 1;
-                               rga_denise_cycle_count_start = 0;
-                               if (scandoubled_bpl_ptr_active[linear_vpos][lof_display]) {
-                                       draw_line(linear_display_vpos, true);
+                               if (scandoubled_bpl_ptr_active[linear_vpos][1] > 0) {
+                                       scandoubled_bpl_ptr_active[linear_vpos][1]--;
                                }
-                               scandoubled_bpl_ptr_active[linear_vpos][lof_display] = false;
-                               lof_display ^= 1;
                        } else {
-                               draw_line(linear_display_vpos, true);
+                               draw_line(linear_display_vpos, true, false);
                        }
                }
 
index 276e46900b868290d19268b22c0aabaf1701422a..f40c08c8762251ffb2b67a40f6b2b7c447e71b2b 100644 (file)
@@ -102,6 +102,7 @@ struct denise_rga_queue
        bool lol, lof;
        int hdelay;
        bool blanked;
+       bool borderline;
        uae_u16 strobe;
        int strobe_pos;
        int erase;
@@ -122,7 +123,7 @@ static void denise_handle_quick_strobe(uae_u16 strobe, int offset, int vpos);
 static void draw_denise_vsync(int);
 static void denise_update_reg(uae_u16 reg, uae_u16 v, uae_u32 linecnt);
 static void draw_denise_line(int gfx_ypos, nln_how how, uae_u32 linecnt, int startpos, int startcycle, int endcycle, int skip_start, int skip_end, int dtotal,
-       int calib_start, int calib_len, bool lol, int hdelay, bool blanked, bool finalseg, struct linestate *ls);
+       int calib_start, int calib_len, bool lol, int hdelay, bool blanked, bool borderline, bool finalseg, struct linestate *ls);
 
 static void sprwrite(int reg, uae_u32 v);
 static void sprwrite_64(int reg, uae_u64 v);
@@ -190,7 +191,7 @@ static void read_denise_line_queue(void)
 
        if (q->type == 0) {
                draw_denise_line(q->gfx_ypos, q->how, q->linecnt, q->startpos, q->startcycle, q->endcycle, q->skip_start, q->skip_end, q->dtotal,
-                       q->calib_start, q->calib_len, q->lol, q->hdelay, q->blanked, q->finalseg, q->ls);
+                       q->calib_start, q->calib_len, q->lol, q->hdelay, q->blanked, q->borderline, q->finalseg, q->ls);
                next = q->finalseg;
        } else if (q->type == 1) {
                draw_denise_bitplane_line_fast(q->gfx_ypos, q->how, q->ls);
@@ -454,6 +455,7 @@ static int bpldat_fmode;
 static int fetchmode_size_denise, fetchmode_mask_denise;
 static int delayed_vblank_ecs, delayed_pvblank_aga;
 static bool denise_hdiw, denise_hblank, denise_phblank, denise_vblank, denise_pvblank;
+static bool diw_disable;
 static bool denise_blank_active, denise_blank_active2, denise_hblank_active, denise_vblank_active;
 static bool debug_special_csync, debug_special_hvsync;
 static bool exthblankon_ecs, exthblankon_ecsonly, exthblankon_aga;
@@ -5946,7 +5948,7 @@ static void edgeblanking(int hbstrt_offset, int hbstop_offset, int internal_pixe
 }
 
 static void draw_denise_line(int gfx_ypos, enum nln_how how, uae_u32 linecnt, int startpos, int startcycle, int endcycle, int skip_start, int skip_end, int dtotal,
-       int calib_start, int calib_len, bool lol, int hdelay, bool blanked, bool finalseg, struct linestate *ls)
+       int calib_start, int calib_len, bool lol, int hdelay, bool blanked, bool borderline, bool finalseg, struct linestate *ls)
 {
        bool fullline = false;
 
@@ -5996,6 +5998,7 @@ static void draw_denise_line(int gfx_ypos, enum nln_how how, uae_u32 linecnt, in
 
        bool line_is_blanked = false;
        bool hidden = this_line->linear_vpos >= denise_vblank_extra_bottom || this_line->linear_vpos < denise_vblank_extra_top;
+       diw_disable = borderline;
 
        if ((denise_pixtotal_max == -0x7fffffff && denise_vsync_bpl_detect) || blanked) {
 
@@ -7987,7 +7990,7 @@ void denise_handle_quick_strobe_queue(uae_u16 strobe, int strobe_pos, int endpos
 }
 
 void draw_denise_line_queue(int gfx_ypos, nln_how how, uae_u32 linecnt, int startpos, int endpos, int startcycle, int endcycle, int skip_start, int skip_end, int dtotal,
-       int calib_start, int calib_len, bool lof, bool lol, int hdelay, bool blanked, bool finalseg, struct linestate *ls)
+       int calib_start, int calib_len, bool lof, bool lol, int hdelay, bool blanked, bool borderline, bool finalseg, struct linestate *ls)
 {
        if (multithread_denise_active()) {
 
@@ -8015,6 +8018,7 @@ void draw_denise_line_queue(int gfx_ypos, nln_how how, uae_u32 linecnt, int star
                q->vpos = vpos;
                q->hdelay = hdelay;
                q->blanked = blanked;
+               q->borderline = borderline;
                q->finalseg = finalseg;
                q->linear_vpos = linear_display_vpos;
                q->linear_vpos_vb_start = linear_vpos_vb_start;
@@ -8025,7 +8029,7 @@ void draw_denise_line_queue(int gfx_ypos, nln_how how, uae_u32 linecnt, int star
        } else {
 
                updatelinedata();
-               draw_denise_line(gfx_ypos, how, linecnt, startpos, startcycle, endcycle, skip_start, skip_end, dtotal, calib_start, calib_len, lol, hdelay, blanked, finalseg, ls);
+               draw_denise_line(gfx_ypos, how, linecnt, startpos, startcycle, endcycle, skip_start, skip_end, dtotal, calib_start, calib_len, lol, hdelay, blanked, borderline, finalseg, ls);
                if (finalseg) {
                        update_overlapped_cycles(endpos);
                }
index 779002337c2e578ce7ff1e8f2c5c7d3b9a07ad87..dfe4b191f3d42f9b5dd86ed7653e870d2bafa1a0 100644 (file)
@@ -590,7 +590,7 @@ static void gen_pix_aga(void)
                }
                outf("  dpix_val%d = bordercolor;", off);
                if (modetype > 0) {
-                       outf("  if (denise_hdiw && bpl1dat_trigger) {");
+                       outf("  if (denise_hdiw && bpl1dat_trigger && !diw_disable) {");
                        outf("  pix%d = loaded_pixs[%d];", off, off);
                        outf("  clxdat |= bplcoltable[pix%d];", off);
                        gen_bplpixmode_aga(off);
@@ -625,7 +625,7 @@ static void gen_pix_aga(void)
                                        }
                                        outf("  dpix_val%d = bordercolor;", off);
                                        if (modetype > 0) {
-                                               outf("  if (denise_hdiw && bpl1dat_trigger) {");
+                                               outf("  if (denise_hdiw && bpl1dat_trigger && !diw_disable) {");
                                                outf("  pix%d = loaded_pixs[%d];", off, off);
                                                outf("  clxdat |= bplcoltable[pix%d];", off);
                                                gen_bplpixmode_aga(off);
@@ -645,7 +645,7 @@ static void gen_pix_aga(void)
                                                outf("if (!denise_blank_active) {");
                                                outf("  dpix_val%d = bordercolor;", off);
                                                if (modetype > 0) {
-                                                       outf("  if (denise_hdiw && bpl1dat_trigger) {");
+                                                       outf("  if (denise_hdiw && bpl1dat_trigger && !diw_disable) {");
                                                        outf("  pix%d = loaded_pixs[%d];", off, off);
                                                        outf("  decode_ham_pixel_aga(pix%d);", off);
                                                }
@@ -776,7 +776,7 @@ static void gen_pix(void)
                        }
                        outf("  dpix_val%d = bordercolor;", i);
                        if (modetype > 0) {
-                               outf("  if (denise_hdiw && bpl1dat_trigger) {");
+                               outf("  if (denise_hdiw && bpl1dat_trigger && !diw_disable) {");
                                gen_getbpl(i, maxplanes);
                                outf("  clxdat |= bplcoltable[pix%d];", i);
                                if (planes > 4) {
@@ -1821,7 +1821,7 @@ int main (int argc, char *argv[])
                                outf("  dpix_val1 = bordercolor_ecs_shres;");
                                outf("  dpix_val2 = bordercolor_ecs_shres;");
                                outf("  dpix_val3 = bordercolor_ecs_shres;");
-                               outf("  if (denise_hdiw && bpl1dat_trigger) {");
+                               outf("  if (denise_hdiw && bpl1dat_trigger && !diw_disable) {");
                                outf("  shifted = true;");
                                outf("pix0 = getbpl2();");
                                outf("shiftbpl2();");
index e6e109e483fd4c7bf98b41c506dcb09fb86e0ff3..30aaabadb23aed2e6153a9337628cdf1b2c65701 100644 (file)
@@ -178,7 +178,7 @@ struct linestate
 
 extern struct color_entry denise_colors;
 void draw_denise_line_queue(int gfx_ypos, nln_how how, uae_u32 linecnt, int startpos, int endpos, int startcycle, int endcycle, int skip_start, int skip_end, int dtotal,
-       int calib_start, int calib_len, bool lof, bool lol, int hdelay, bool blanked, bool finalseg, struct linestate *ls);
+       int calib_start, int calib_len, bool lof, bool lol, int hdelay, bool blanked, bool borderline, bool finalseg, struct linestate *ls);
 void draw_denise_bitplane_line_fast(int gfx_ypos, enum nln_how how, struct linestate *ls);
 void draw_denise_bitplane_line_fast_queue(int gfx_ypos, enum nln_how how, struct linestate *ls);
 void draw_denise_border_line_fast(int gfx_ypos, bool blank, enum nln_how how, struct linestate *ls);
index 7068f4334d30c92dd7692eedba15cc7548d4aee0..d73ab018895e18878081f77508de9b553fef37cf 100644 (file)
@@ -21,7 +21,7 @@ static void lts_aga_fm0_n0_p2_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -89,7 +89,7 @@ static void lts_aga_fm0_n1_p2_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -160,7 +160,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -233,7 +233,7 @@ static void lts_aga_fm0_dpf1_p2_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -639,7 +639,7 @@ static void lts_aga_fm0_n0_p4_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -707,7 +707,7 @@ static void lts_aga_fm0_n1_p4_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -778,7 +778,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -851,7 +851,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1257,7 +1257,7 @@ static void lts_aga_fm0_n0_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -1325,7 +1325,7 @@ static void lts_aga_fm0_n1_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -1396,7 +1396,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1469,7 +1469,7 @@ static void lts_aga_fm0_dpf1_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1545,7 +1545,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -1619,7 +1619,7 @@ static void lts_aga_fm0_ehb1_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -1696,7 +1696,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -1764,7 +1764,7 @@ static void lts_aga_fm0_ham1_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -1835,7 +1835,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -1904,7 +1904,7 @@ static void lts_aga_fm0_kehb1_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -1976,7 +1976,7 @@ static void lts_aga_fm0_n0_p8_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -2044,7 +2044,7 @@ static void lts_aga_fm0_n1_p8_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -2115,7 +2115,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2188,7 +2188,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2374,7 +2374,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -2442,7 +2442,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -2624,7 +2624,7 @@ static void lts_aga_fm0_n0_p2_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -2707,7 +2707,7 @@ static void lts_aga_fm0_n1_p2_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -2793,7 +2793,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2881,7 +2881,7 @@ static void lts_aga_fm0_dpf1_p2_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3392,7 +3392,7 @@ static void lts_aga_fm0_n0_p4_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -3475,7 +3475,7 @@ static void lts_aga_fm0_n1_p4_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -3561,7 +3561,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3649,7 +3649,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -4160,7 +4160,7 @@ static void lts_aga_fm0_n0_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -4243,7 +4243,7 @@ static void lts_aga_fm0_n1_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -4329,7 +4329,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -4417,7 +4417,7 @@ static void lts_aga_fm0_dpf1_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -4508,7 +4508,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -4597,7 +4597,7 @@ static void lts_aga_fm0_ehb1_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -4689,7 +4689,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -4772,7 +4772,7 @@ static void lts_aga_fm0_ham1_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -4858,7 +4858,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -4942,7 +4942,7 @@ static void lts_aga_fm0_kehb1_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -5029,7 +5029,7 @@ static void lts_aga_fm0_n0_p8_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -5112,7 +5112,7 @@ static void lts_aga_fm0_n1_p8_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -5198,7 +5198,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -5286,7 +5286,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -5517,7 +5517,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -5600,7 +5600,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -5825,7 +5825,7 @@ static void lts_aga_fm0_n0_p2_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -5890,7 +5890,7 @@ static void lts_aga_fm0_n0_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -5907,7 +5907,7 @@ static void lts_aga_fm0_n0_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -5972,7 +5972,7 @@ static void lts_aga_fm0_n1_p2_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -6040,7 +6040,7 @@ static void lts_aga_fm0_n1_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -6060,7 +6060,7 @@ static void lts_aga_fm0_n1_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -6128,7 +6128,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6198,7 +6198,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6220,7 +6220,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -6290,7 +6290,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6363,7 +6363,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6388,7 +6388,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -7119,7 +7119,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -7184,7 +7184,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -7201,7 +7201,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -7266,7 +7266,7 @@ static void lts_aga_fm0_n1_p4_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -7334,7 +7334,7 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -7354,7 +7354,7 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -7422,7 +7422,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -7492,7 +7492,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -7514,7 +7514,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -7584,7 +7584,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -7657,7 +7657,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -7682,7 +7682,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -10594,7 +10594,7 @@ static void lts_aga_fm0_n0_p2_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -10674,7 +10674,7 @@ static void lts_aga_fm0_n0_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -10699,7 +10699,7 @@ static void lts_aga_fm0_n0_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -10772,7 +10772,7 @@ static void lts_aga_fm0_n1_p2_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -10855,7 +10855,7 @@ static void lts_aga_fm0_n1_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -10883,7 +10883,7 @@ static void lts_aga_fm0_n1_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -10959,7 +10959,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -11044,7 +11044,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -11074,7 +11074,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -11152,7 +11152,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -11240,7 +11240,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -11273,7 +11273,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -12198,7 +12198,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -12278,7 +12278,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -12303,7 +12303,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -12376,7 +12376,7 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -12459,7 +12459,7 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -12487,7 +12487,7 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -12563,7 +12563,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -12648,7 +12648,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -12678,7 +12678,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -12756,7 +12756,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -12844,7 +12844,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -12877,7 +12877,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -17241,7 +17241,7 @@ static void lts_aga_fm0_n0_p2_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -17265,7 +17265,7 @@ static void lts_aga_fm0_n0_p2_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -17348,7 +17348,7 @@ static void lts_aga_fm0_n1_p2_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -17383,7 +17383,7 @@ static void lts_aga_fm0_n1_p2_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -17477,7 +17477,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -17506,7 +17506,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -17594,7 +17594,7 @@ static void lts_aga_fm0_dpf1_p2_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -17634,7 +17634,7 @@ static void lts_aga_fm0_dpf1_p2_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -18153,7 +18153,7 @@ static void lts_aga_fm0_n0_p4_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -18177,7 +18177,7 @@ static void lts_aga_fm0_n0_p4_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -18260,7 +18260,7 @@ static void lts_aga_fm0_n1_p4_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -18295,7 +18295,7 @@ static void lts_aga_fm0_n1_p4_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -18389,7 +18389,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -18418,7 +18418,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -18506,7 +18506,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -18546,7 +18546,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -19065,7 +19065,7 @@ static void lts_aga_fm0_n0_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -19089,7 +19089,7 @@ static void lts_aga_fm0_n0_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -19172,7 +19172,7 @@ static void lts_aga_fm0_n1_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -19207,7 +19207,7 @@ static void lts_aga_fm0_n1_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -19301,7 +19301,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -19330,7 +19330,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -19418,7 +19418,7 @@ static void lts_aga_fm0_dpf1_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -19458,7 +19458,7 @@ static void lts_aga_fm0_dpf1_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -19557,7 +19557,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -19587,7 +19587,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -19676,7 +19676,7 @@ static void lts_aga_fm0_ehb1_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -19717,7 +19717,7 @@ static void lts_aga_fm0_ehb1_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -19817,7 +19817,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -19841,7 +19841,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -19924,7 +19924,7 @@ static void lts_aga_fm0_ham1_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -19959,7 +19959,7 @@ static void lts_aga_fm0_ham1_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -20053,7 +20053,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -20078,7 +20078,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -20162,7 +20162,7 @@ static void lts_aga_fm0_kehb1_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -20198,7 +20198,7 @@ static void lts_aga_fm0_kehb1_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -20293,7 +20293,7 @@ static void lts_aga_fm0_n0_p8_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -20317,7 +20317,7 @@ static void lts_aga_fm0_n0_p8_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -20400,7 +20400,7 @@ static void lts_aga_fm0_n1_p8_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -20435,7 +20435,7 @@ static void lts_aga_fm0_n1_p8_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -20529,7 +20529,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -20558,7 +20558,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -20646,7 +20646,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -20686,7 +20686,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -20925,7 +20925,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -20949,7 +20949,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -21032,7 +21032,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -21067,7 +21067,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -21302,7 +21302,7 @@ static void lts_aga_fm0_n0_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -21335,7 +21335,7 @@ static void lts_aga_fm0_n0_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -21439,7 +21439,7 @@ static void lts_aga_fm0_n1_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -21483,7 +21483,7 @@ static void lts_aga_fm0_n1_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -21598,7 +21598,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -21636,7 +21636,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -21745,7 +21745,7 @@ static void lts_aga_fm0_dpf1_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -21794,7 +21794,7 @@ static void lts_aga_fm0_dpf1_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -22514,7 +22514,7 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -22547,7 +22547,7 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -22651,7 +22651,7 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -22695,7 +22695,7 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -22810,7 +22810,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -22848,7 +22848,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -22957,7 +22957,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -23006,7 +23006,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -23726,7 +23726,7 @@ static void lts_aga_fm0_n0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -23759,7 +23759,7 @@ static void lts_aga_fm0_n0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -23863,7 +23863,7 @@ static void lts_aga_fm0_n1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -23907,7 +23907,7 @@ static void lts_aga_fm0_n1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -24022,7 +24022,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -24060,7 +24060,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -24169,7 +24169,7 @@ static void lts_aga_fm0_dpf1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -24218,7 +24218,7 @@ static void lts_aga_fm0_dpf1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -24338,7 +24338,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -24377,7 +24377,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -24487,7 +24487,7 @@ static void lts_aga_fm0_ehb1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -24537,7 +24537,7 @@ static void lts_aga_fm0_ehb1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -24658,7 +24658,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -24691,7 +24691,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -24795,7 +24795,7 @@ static void lts_aga_fm0_ham1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -24839,7 +24839,7 @@ static void lts_aga_fm0_ham1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -24954,7 +24954,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -24988,7 +24988,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -25093,7 +25093,7 @@ static void lts_aga_fm0_kehb1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -25138,7 +25138,7 @@ static void lts_aga_fm0_kehb1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -25254,7 +25254,7 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -25287,7 +25287,7 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -25391,7 +25391,7 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -25435,7 +25435,7 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -25550,7 +25550,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -25588,7 +25588,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -25697,7 +25697,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -25746,7 +25746,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -26066,7 +26066,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -26099,7 +26099,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -26203,7 +26203,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -26247,7 +26247,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -26561,7 +26561,7 @@ static void lts_aga_fm0_n0_p2_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -26579,7 +26579,7 @@ static void lts_aga_fm0_n0_p2_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -26656,7 +26656,7 @@ static void lts_aga_fm0_n1_p2_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -26677,7 +26677,7 @@ static void lts_aga_fm0_n1_p2_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -26757,7 +26757,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -26780,7 +26780,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -26862,7 +26862,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -26888,7 +26888,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -27393,7 +27393,7 @@ static void lts_aga_fm0_n0_p4_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -27411,7 +27411,7 @@ static void lts_aga_fm0_n0_p4_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -27488,7 +27488,7 @@ static void lts_aga_fm0_n1_p4_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -27509,7 +27509,7 @@ static void lts_aga_fm0_n1_p4_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -27589,7 +27589,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -27612,7 +27612,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -27694,7 +27694,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -27720,7 +27720,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -29626,7 +29626,7 @@ static void lts_aga_fm0_n0_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -29653,7 +29653,7 @@ static void lts_aga_fm0_n0_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -29751,7 +29751,7 @@ static void lts_aga_fm0_n1_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -29781,7 +29781,7 @@ static void lts_aga_fm0_n1_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -29882,7 +29882,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -29914,7 +29914,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -30017,7 +30017,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -30052,7 +30052,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -30758,7 +30758,7 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -30785,7 +30785,7 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -30883,7 +30883,7 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -30913,7 +30913,7 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -31014,7 +31014,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -31046,7 +31046,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -31149,7 +31149,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -31184,7 +31184,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -33889,7 +33889,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -33908,7 +33908,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -33982,7 +33982,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -33999,7 +33999,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -34017,7 +34017,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -34034,7 +34034,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -34109,7 +34109,7 @@ static void lts_aga_fm0_n1_p2_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -34131,7 +34131,7 @@ static void lts_aga_fm0_n1_p2_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -34208,7 +34208,7 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -34228,7 +34228,7 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -34249,7 +34249,7 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -34269,7 +34269,7 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -34347,7 +34347,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -34371,7 +34371,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -34450,7 +34450,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -34472,7 +34472,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -34495,7 +34495,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -34517,7 +34517,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -34597,7 +34597,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -34624,7 +34624,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -34706,7 +34706,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -34731,7 +34731,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -34757,7 +34757,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -34782,7 +34782,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -40130,7 +40130,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -40158,7 +40158,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -40253,7 +40253,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -40278,7 +40278,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -40297,7 +40297,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -40322,7 +40322,7 @@ static void lts_aga_fm0_n0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -40412,7 +40412,7 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -40443,7 +40443,7 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -40541,7 +40541,7 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -40569,7 +40569,7 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -40591,7 +40591,7 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -40619,7 +40619,7 @@ static void lts_aga_fm0_n1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -40712,7 +40712,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -40745,7 +40745,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -40845,7 +40845,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -40875,7 +40875,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -40899,7 +40899,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -40929,7 +40929,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -41024,7 +41024,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -41060,7 +41060,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -41163,7 +41163,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -41196,7 +41196,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -41223,7 +41223,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -41256,7 +41256,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -48849,7 +48849,7 @@ static void lts_aga_fm0_n0_p2_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -48873,7 +48873,7 @@ static void lts_aga_fm0_n0_p2_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -48897,7 +48897,7 @@ static void lts_aga_fm0_n0_p2_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -48921,7 +48921,7 @@ static void lts_aga_fm0_n0_p2_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -49022,7 +49022,7 @@ static void lts_aga_fm0_n1_p2_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -49057,7 +49057,7 @@ static void lts_aga_fm0_n1_p2_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -49092,7 +49092,7 @@ static void lts_aga_fm0_n1_p2_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -49127,7 +49127,7 @@ static void lts_aga_fm0_n1_p2_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -49239,7 +49239,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -49268,7 +49268,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -49297,7 +49297,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -49326,7 +49326,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -49432,7 +49432,7 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -49472,7 +49472,7 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -49512,7 +49512,7 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -49552,7 +49552,7 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -50269,7 +50269,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -50293,7 +50293,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -50317,7 +50317,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -50341,7 +50341,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -50442,7 +50442,7 @@ static void lts_aga_fm0_n1_p4_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -50477,7 +50477,7 @@ static void lts_aga_fm0_n1_p4_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -50512,7 +50512,7 @@ static void lts_aga_fm0_n1_p4_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -50547,7 +50547,7 @@ static void lts_aga_fm0_n1_p4_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -50659,7 +50659,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -50688,7 +50688,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -50717,7 +50717,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -50746,7 +50746,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -50852,7 +50852,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -50892,7 +50892,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -50932,7 +50932,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -50972,7 +50972,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -51689,7 +51689,7 @@ static void lts_aga_fm0_n0_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -51713,7 +51713,7 @@ static void lts_aga_fm0_n0_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -51737,7 +51737,7 @@ static void lts_aga_fm0_n0_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -51761,7 +51761,7 @@ static void lts_aga_fm0_n0_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -51862,7 +51862,7 @@ static void lts_aga_fm0_n1_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -51897,7 +51897,7 @@ static void lts_aga_fm0_n1_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -51932,7 +51932,7 @@ static void lts_aga_fm0_n1_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -51967,7 +51967,7 @@ static void lts_aga_fm0_n1_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -52079,7 +52079,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -52108,7 +52108,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -52137,7 +52137,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -52166,7 +52166,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -52272,7 +52272,7 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -52312,7 +52312,7 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -52352,7 +52352,7 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -52392,7 +52392,7 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -52509,7 +52509,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -52539,7 +52539,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -52569,7 +52569,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -52599,7 +52599,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -52706,7 +52706,7 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -52747,7 +52747,7 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -52788,7 +52788,7 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -52829,7 +52829,7 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -52947,7 +52947,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -52971,7 +52971,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -52995,7 +52995,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -53019,7 +53019,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -53120,7 +53120,7 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -53155,7 +53155,7 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -53190,7 +53190,7 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -53225,7 +53225,7 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -53337,7 +53337,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -53362,7 +53362,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -53387,7 +53387,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -53412,7 +53412,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -53514,7 +53514,7 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -53550,7 +53550,7 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -53586,7 +53586,7 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -53622,7 +53622,7 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -53735,7 +53735,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -53759,7 +53759,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -53783,7 +53783,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -53807,7 +53807,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -53908,7 +53908,7 @@ static void lts_aga_fm0_n1_p8_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -53943,7 +53943,7 @@ static void lts_aga_fm0_n1_p8_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -53978,7 +53978,7 @@ static void lts_aga_fm0_n1_p8_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -54013,7 +54013,7 @@ static void lts_aga_fm0_n1_p8_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -54125,7 +54125,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -54154,7 +54154,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -54183,7 +54183,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -54212,7 +54212,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -54318,7 +54318,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -54358,7 +54358,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -54398,7 +54398,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -54438,7 +54438,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -54755,7 +54755,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -54779,7 +54779,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -54803,7 +54803,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -54827,7 +54827,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -54928,7 +54928,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -54963,7 +54963,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -54998,7 +54998,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -55033,7 +55033,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -55346,7 +55346,7 @@ static void lts_aga_fm0_n0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -55379,7 +55379,7 @@ static void lts_aga_fm0_n0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -55412,7 +55412,7 @@ static void lts_aga_fm0_n0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -55445,7 +55445,7 @@ static void lts_aga_fm0_n0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -55579,7 +55579,7 @@ static void lts_aga_fm0_n1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -55623,7 +55623,7 @@ static void lts_aga_fm0_n1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -55667,7 +55667,7 @@ static void lts_aga_fm0_n1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -55711,7 +55711,7 @@ static void lts_aga_fm0_n1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -55856,7 +55856,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -55894,7 +55894,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -55932,7 +55932,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -55970,7 +55970,7 @@ static void lts_aga_fm0_dpf0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -56109,7 +56109,7 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -56158,7 +56158,7 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -56207,7 +56207,7 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -56256,7 +56256,7 @@ static void lts_aga_fm0_dpf1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -57366,7 +57366,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -57399,7 +57399,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -57432,7 +57432,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -57465,7 +57465,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -57599,7 +57599,7 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -57643,7 +57643,7 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -57687,7 +57687,7 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -57731,7 +57731,7 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -57876,7 +57876,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -57914,7 +57914,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -57952,7 +57952,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -57990,7 +57990,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -58129,7 +58129,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -58178,7 +58178,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -58227,7 +58227,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -58276,7 +58276,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -59386,7 +59386,7 @@ static void lts_aga_fm0_n0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -59419,7 +59419,7 @@ static void lts_aga_fm0_n0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -59452,7 +59452,7 @@ static void lts_aga_fm0_n0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -59485,7 +59485,7 @@ static void lts_aga_fm0_n0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -59619,7 +59619,7 @@ static void lts_aga_fm0_n1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -59663,7 +59663,7 @@ static void lts_aga_fm0_n1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -59707,7 +59707,7 @@ static void lts_aga_fm0_n1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -59751,7 +59751,7 @@ static void lts_aga_fm0_n1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -59896,7 +59896,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -59934,7 +59934,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -59972,7 +59972,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -60010,7 +60010,7 @@ static void lts_aga_fm0_dpf0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -60149,7 +60149,7 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -60198,7 +60198,7 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -60247,7 +60247,7 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -60296,7 +60296,7 @@ static void lts_aga_fm0_dpf1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -60446,7 +60446,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -60485,7 +60485,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -60524,7 +60524,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -60563,7 +60563,7 @@ static void lts_aga_fm0_ehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -60703,7 +60703,7 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -60753,7 +60753,7 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -60803,7 +60803,7 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -60853,7 +60853,7 @@ static void lts_aga_fm0_ehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -61004,7 +61004,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -61037,7 +61037,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -61070,7 +61070,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -61103,7 +61103,7 @@ static void lts_aga_fm0_ham0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -61237,7 +61237,7 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -61281,7 +61281,7 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -61325,7 +61325,7 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -61369,7 +61369,7 @@ static void lts_aga_fm0_ham1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -61514,7 +61514,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -61548,7 +61548,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -61582,7 +61582,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -61616,7 +61616,7 @@ static void lts_aga_fm0_kehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -61751,7 +61751,7 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -61796,7 +61796,7 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -61841,7 +61841,7 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -61886,7 +61886,7 @@ static void lts_aga_fm0_kehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -62032,7 +62032,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -62065,7 +62065,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -62098,7 +62098,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -62131,7 +62131,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -62265,7 +62265,7 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -62309,7 +62309,7 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -62353,7 +62353,7 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -62397,7 +62397,7 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -62542,7 +62542,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -62580,7 +62580,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -62618,7 +62618,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -62656,7 +62656,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -62795,7 +62795,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -62844,7 +62844,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -62893,7 +62893,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -62942,7 +62942,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -63412,7 +63412,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -63445,7 +63445,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -63478,7 +63478,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -63511,7 +63511,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -63645,7 +63645,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -63689,7 +63689,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -63733,7 +63733,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -63777,7 +63777,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -64241,7 +64241,7 @@ static void lts_aga_fm0_n0_p2_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -64265,7 +64265,7 @@ static void lts_aga_fm0_n0_p2_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -64289,7 +64289,7 @@ static void lts_aga_fm0_n0_p2_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -64313,7 +64313,7 @@ static void lts_aga_fm0_n0_p2_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -64414,7 +64414,7 @@ static void lts_aga_fm0_n1_p2_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -64449,7 +64449,7 @@ static void lts_aga_fm0_n1_p2_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -64484,7 +64484,7 @@ static void lts_aga_fm0_n1_p2_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -64519,7 +64519,7 @@ static void lts_aga_fm0_n1_p2_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -64631,7 +64631,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -64660,7 +64660,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -64689,7 +64689,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -64718,7 +64718,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -64824,7 +64824,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -64864,7 +64864,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -64904,7 +64904,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -64944,7 +64944,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -65661,7 +65661,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -65685,7 +65685,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -65709,7 +65709,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -65733,7 +65733,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -65834,7 +65834,7 @@ static void lts_aga_fm0_n1_p4_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -65869,7 +65869,7 @@ static void lts_aga_fm0_n1_p4_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -65904,7 +65904,7 @@ static void lts_aga_fm0_n1_p4_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -65939,7 +65939,7 @@ static void lts_aga_fm0_n1_p4_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -66051,7 +66051,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -66080,7 +66080,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -66109,7 +66109,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -66138,7 +66138,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -66244,7 +66244,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -66284,7 +66284,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -66324,7 +66324,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -66364,7 +66364,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -69082,7 +69082,7 @@ static void lts_aga_fm0_n0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -69115,7 +69115,7 @@ static void lts_aga_fm0_n0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -69148,7 +69148,7 @@ static void lts_aga_fm0_n0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -69181,7 +69181,7 @@ static void lts_aga_fm0_n0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -69315,7 +69315,7 @@ static void lts_aga_fm0_n1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -69359,7 +69359,7 @@ static void lts_aga_fm0_n1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -69403,7 +69403,7 @@ static void lts_aga_fm0_n1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -69447,7 +69447,7 @@ static void lts_aga_fm0_n1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -69592,7 +69592,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -69630,7 +69630,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -69668,7 +69668,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -69706,7 +69706,7 @@ static void lts_aga_fm0_dpf0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -69845,7 +69845,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -69894,7 +69894,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -69943,7 +69943,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -69992,7 +69992,7 @@ static void lts_aga_fm0_dpf1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -71102,7 +71102,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -71135,7 +71135,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -71168,7 +71168,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -71201,7 +71201,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -71335,7 +71335,7 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -71379,7 +71379,7 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -71423,7 +71423,7 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -71467,7 +71467,7 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -71612,7 +71612,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -71650,7 +71650,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -71688,7 +71688,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -71726,7 +71726,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -71865,7 +71865,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -71914,7 +71914,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -71963,7 +71963,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -72012,7 +72012,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -76321,7 +76321,7 @@ static void lts_aga_fm0_n0_p2_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -76339,7 +76339,7 @@ static void lts_aga_fm0_n0_p2_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -76357,7 +76357,7 @@ static void lts_aga_fm0_n0_p2_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -76375,7 +76375,7 @@ static void lts_aga_fm0_n0_p2_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -76470,7 +76470,7 @@ static void lts_aga_fm0_n1_p2_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -76491,7 +76491,7 @@ static void lts_aga_fm0_n1_p2_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -76512,7 +76512,7 @@ static void lts_aga_fm0_n1_p2_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -76533,7 +76533,7 @@ static void lts_aga_fm0_n1_p2_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -76631,7 +76631,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -76654,7 +76654,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -76677,7 +76677,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -76700,7 +76700,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -76800,7 +76800,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -76826,7 +76826,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -76852,7 +76852,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -76878,7 +76878,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -80582,7 +80582,7 @@ static void lts_aga_fm0_n0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -80609,7 +80609,7 @@ static void lts_aga_fm0_n0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -80636,7 +80636,7 @@ static void lts_aga_fm0_n0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -80663,7 +80663,7 @@ static void lts_aga_fm0_n0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -80791,7 +80791,7 @@ static void lts_aga_fm0_n1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -80821,7 +80821,7 @@ static void lts_aga_fm0_n1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -80851,7 +80851,7 @@ static void lts_aga_fm0_n1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -80881,7 +80881,7 @@ static void lts_aga_fm0_n1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -81012,7 +81012,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -81044,7 +81044,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -81076,7 +81076,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -81108,7 +81108,7 @@ static void lts_aga_fm0_dpf0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -81241,7 +81241,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -81276,7 +81276,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -81311,7 +81311,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -81346,7 +81346,7 @@ static void lts_aga_fm0_dpf1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
index f4ccdb3691a59a953eb5b0db9630050022334f4b..c4ce037d03086e2859db94969d3a0764dd546e95 100644 (file)
@@ -23,7 +23,7 @@ static void lts_aga_fm0_n0_p4_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -96,7 +96,7 @@ static void lts_aga_fm0_n1_p4_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -172,7 +172,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -250,7 +250,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -685,7 +685,7 @@ static void lts_aga_fm0_n0_p8_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -758,7 +758,7 @@ static void lts_aga_fm0_n1_p8_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -834,7 +834,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -912,7 +912,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1111,7 +1111,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -1184,7 +1184,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -1379,7 +1379,7 @@ static void lts_aga_fm0_n0_p4_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -1469,7 +1469,7 @@ static void lts_aga_fm0_n1_p4_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -1562,7 +1562,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1657,7 +1657,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2211,7 +2211,7 @@ static void lts_aga_fm0_n0_p8_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -2301,7 +2301,7 @@ static void lts_aga_fm0_n1_p8_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -2394,7 +2394,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2489,7 +2489,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2739,7 +2739,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -2829,7 +2829,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -3073,7 +3073,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -3143,7 +3143,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -3163,7 +3163,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -3234,7 +3234,7 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -3307,7 +3307,7 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -3330,7 +3330,7 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -3404,7 +3404,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3479,7 +3479,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3504,7 +3504,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -3580,7 +3580,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3658,7 +3658,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3686,7 +3686,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -5694,7 +5694,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -5781,7 +5781,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -5809,7 +5809,7 @@ static void lts_aga_fm0_n0_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -5890,7 +5890,7 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -5980,7 +5980,7 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -6011,7 +6011,7 @@ static void lts_aga_fm0_n1_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -6095,7 +6095,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6187,7 +6187,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6220,7 +6220,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -6306,7 +6306,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6401,7 +6401,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6437,7 +6437,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -9333,7 +9333,7 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -9360,7 +9360,7 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -9450,7 +9450,7 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -9488,7 +9488,7 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -9589,7 +9589,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -9621,7 +9621,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -9716,7 +9716,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -9759,7 +9759,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -10333,7 +10333,7 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -10360,7 +10360,7 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -10450,7 +10450,7 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -10488,7 +10488,7 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -10589,7 +10589,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10621,7 +10621,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -10716,7 +10716,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10759,7 +10759,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -11021,7 +11021,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -11048,7 +11048,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -11138,7 +11138,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -11176,7 +11176,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -11434,7 +11434,7 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -11470,7 +11470,7 @@ static void lts_aga_fm0_n0_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -11585,7 +11585,7 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -11632,7 +11632,7 @@ static void lts_aga_fm0_n1_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -11758,7 +11758,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -11799,7 +11799,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -11919,7 +11919,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -11971,7 +11971,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -12774,7 +12774,7 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -12810,7 +12810,7 @@ static void lts_aga_fm0_n0_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -12925,7 +12925,7 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -12972,7 +12972,7 @@ static void lts_aga_fm0_n1_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -13098,7 +13098,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -13139,7 +13139,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -13259,7 +13259,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -13311,7 +13311,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -13666,7 +13666,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -13702,7 +13702,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -13817,7 +13817,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -13864,7 +13864,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -14213,7 +14213,7 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -14234,7 +14234,7 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -14318,7 +14318,7 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -14342,7 +14342,7 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -14429,7 +14429,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -14455,7 +14455,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -14544,7 +14544,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -14573,7 +14573,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -15914,7 +15914,7 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -15944,7 +15944,7 @@ static void lts_aga_fm0_n0_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -16053,7 +16053,7 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -16086,7 +16086,7 @@ static void lts_aga_fm0_n1_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -16198,7 +16198,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -16233,7 +16233,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -16347,7 +16347,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -16385,7 +16385,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -26429,7 +26429,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -26456,7 +26456,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -26483,7 +26483,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -26510,7 +26510,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -26622,7 +26622,7 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -26660,7 +26660,7 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -26698,7 +26698,7 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -26736,7 +26736,7 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -26859,7 +26859,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -26891,7 +26891,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -26923,7 +26923,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -26955,7 +26955,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -27072,7 +27072,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -27115,7 +27115,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -27158,7 +27158,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -27201,7 +27201,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -28025,7 +28025,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -28052,7 +28052,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -28079,7 +28079,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -28106,7 +28106,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -28218,7 +28218,7 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -28256,7 +28256,7 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -28294,7 +28294,7 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -28332,7 +28332,7 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -28455,7 +28455,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -28487,7 +28487,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -28519,7 +28519,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -28551,7 +28551,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -28668,7 +28668,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -28711,7 +28711,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -28754,7 +28754,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -28797,7 +28797,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -29157,7 +29157,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -29184,7 +29184,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -29211,7 +29211,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -29238,7 +29238,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -29350,7 +29350,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -29388,7 +29388,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -29426,7 +29426,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -29464,7 +29464,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -29820,7 +29820,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -29856,7 +29856,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -29892,7 +29892,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -29928,7 +29928,7 @@ static void lts_aga_fm0_n0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -30081,7 +30081,7 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -30128,7 +30128,7 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -30175,7 +30175,7 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -30222,7 +30222,7 @@ static void lts_aga_fm0_n1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -30386,7 +30386,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -30427,7 +30427,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -30468,7 +30468,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -30509,7 +30509,7 @@ static void lts_aga_fm0_dpf0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -30667,7 +30667,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -30719,7 +30719,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -30771,7 +30771,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -30823,7 +30823,7 @@ static void lts_aga_fm0_dpf1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -32096,7 +32096,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -32132,7 +32132,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -32168,7 +32168,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -32204,7 +32204,7 @@ static void lts_aga_fm0_n0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -32357,7 +32357,7 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -32404,7 +32404,7 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -32451,7 +32451,7 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -32498,7 +32498,7 @@ static void lts_aga_fm0_n1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -32662,7 +32662,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -32703,7 +32703,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -32744,7 +32744,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -32785,7 +32785,7 @@ static void lts_aga_fm0_dpf0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -32943,7 +32943,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -32995,7 +32995,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -33047,7 +33047,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -33099,7 +33099,7 @@ static void lts_aga_fm0_dpf1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -33636,7 +33636,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -33672,7 +33672,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -33708,7 +33708,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -33744,7 +33744,7 @@ static void lts_aga_fm0_ham0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -33897,7 +33897,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -33944,7 +33944,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -33991,7 +33991,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -34038,7 +34038,7 @@ static void lts_aga_fm0_ham1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -34569,7 +34569,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -34596,7 +34596,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -34623,7 +34623,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -34650,7 +34650,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -34762,7 +34762,7 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -34800,7 +34800,7 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -34838,7 +34838,7 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -34876,7 +34876,7 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -34999,7 +34999,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -35031,7 +35031,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -35063,7 +35063,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -35095,7 +35095,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -35212,7 +35212,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -35255,7 +35255,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -35298,7 +35298,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -35341,7 +35341,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -37326,7 +37326,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -37362,7 +37362,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -37398,7 +37398,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -37434,7 +37434,7 @@ static void lts_aga_fm0_n0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -37587,7 +37587,7 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -37634,7 +37634,7 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -37681,7 +37681,7 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -37728,7 +37728,7 @@ static void lts_aga_fm0_n1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -37892,7 +37892,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -37933,7 +37933,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -37974,7 +37974,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -38015,7 +38015,7 @@ static void lts_aga_fm0_dpf0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -38173,7 +38173,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -38225,7 +38225,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -38277,7 +38277,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -38329,7 +38329,7 @@ static void lts_aga_fm0_dpf1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
index e5c05ec02f36307b2f44510c3e40b0e12f3b787b..7245ca8e5bbe590d56e7921e2963fc2b0a49569e 100644 (file)
@@ -21,7 +21,7 @@ static void lts_aga_fm1_n0_p2_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -89,7 +89,7 @@ static void lts_aga_fm1_n1_p2_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -160,7 +160,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -233,7 +233,7 @@ static void lts_aga_fm1_dpf1_p2_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -639,7 +639,7 @@ static void lts_aga_fm1_n0_p4_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -707,7 +707,7 @@ static void lts_aga_fm1_n1_p4_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -778,7 +778,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -851,7 +851,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1257,7 +1257,7 @@ static void lts_aga_fm1_n0_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -1325,7 +1325,7 @@ static void lts_aga_fm1_n1_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -1396,7 +1396,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1469,7 +1469,7 @@ static void lts_aga_fm1_dpf1_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1545,7 +1545,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -1619,7 +1619,7 @@ static void lts_aga_fm1_ehb1_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -1696,7 +1696,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -1764,7 +1764,7 @@ static void lts_aga_fm1_ham1_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -1835,7 +1835,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -1904,7 +1904,7 @@ static void lts_aga_fm1_kehb1_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -1976,7 +1976,7 @@ static void lts_aga_fm1_n0_p8_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -2044,7 +2044,7 @@ static void lts_aga_fm1_n1_p8_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -2115,7 +2115,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2188,7 +2188,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2374,7 +2374,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -2442,7 +2442,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -2624,7 +2624,7 @@ static void lts_aga_fm1_n0_p2_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -2707,7 +2707,7 @@ static void lts_aga_fm1_n1_p2_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -2793,7 +2793,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2881,7 +2881,7 @@ static void lts_aga_fm1_dpf1_p2_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3392,7 +3392,7 @@ static void lts_aga_fm1_n0_p4_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -3475,7 +3475,7 @@ static void lts_aga_fm1_n1_p4_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -3561,7 +3561,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3649,7 +3649,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -4160,7 +4160,7 @@ static void lts_aga_fm1_n0_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -4243,7 +4243,7 @@ static void lts_aga_fm1_n1_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -4329,7 +4329,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -4417,7 +4417,7 @@ static void lts_aga_fm1_dpf1_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -4508,7 +4508,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -4597,7 +4597,7 @@ static void lts_aga_fm1_ehb1_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -4689,7 +4689,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -4772,7 +4772,7 @@ static void lts_aga_fm1_ham1_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -4858,7 +4858,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -4942,7 +4942,7 @@ static void lts_aga_fm1_kehb1_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -5029,7 +5029,7 @@ static void lts_aga_fm1_n0_p8_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -5112,7 +5112,7 @@ static void lts_aga_fm1_n1_p8_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -5198,7 +5198,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -5286,7 +5286,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -5517,7 +5517,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -5600,7 +5600,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -5825,7 +5825,7 @@ static void lts_aga_fm1_n0_p2_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -5890,7 +5890,7 @@ static void lts_aga_fm1_n0_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -5907,7 +5907,7 @@ static void lts_aga_fm1_n0_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -5972,7 +5972,7 @@ static void lts_aga_fm1_n1_p2_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -6040,7 +6040,7 @@ static void lts_aga_fm1_n1_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -6060,7 +6060,7 @@ static void lts_aga_fm1_n1_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -6128,7 +6128,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6198,7 +6198,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6220,7 +6220,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -6290,7 +6290,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6363,7 +6363,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6388,7 +6388,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -7119,7 +7119,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -7184,7 +7184,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -7201,7 +7201,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -7266,7 +7266,7 @@ static void lts_aga_fm1_n1_p4_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -7334,7 +7334,7 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -7354,7 +7354,7 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -7422,7 +7422,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -7492,7 +7492,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -7514,7 +7514,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -7584,7 +7584,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -7657,7 +7657,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -7682,7 +7682,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -8413,7 +8413,7 @@ static void lts_aga_fm1_n0_p6_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -8478,7 +8478,7 @@ static void lts_aga_fm1_n0_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -8495,7 +8495,7 @@ static void lts_aga_fm1_n0_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -8560,7 +8560,7 @@ static void lts_aga_fm1_n1_p6_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -8628,7 +8628,7 @@ static void lts_aga_fm1_n1_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -8648,7 +8648,7 @@ static void lts_aga_fm1_n1_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -8716,7 +8716,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -8786,7 +8786,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -8808,7 +8808,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -8878,7 +8878,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -8951,7 +8951,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -8976,7 +8976,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -9049,7 +9049,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -9120,7 +9120,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -9143,7 +9143,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -9214,7 +9214,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -9288,7 +9288,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -9314,7 +9314,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -9388,7 +9388,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -9405,7 +9405,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -9468,7 +9468,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -9485,7 +9485,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -9550,7 +9550,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -9570,7 +9570,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -9636,7 +9636,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -9656,7 +9656,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -9724,7 +9724,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -9790,7 +9790,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -9808,7 +9808,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -9874,7 +9874,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -9943,7 +9943,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -9964,7 +9964,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -10033,7 +10033,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -10098,7 +10098,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -10115,7 +10115,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -10180,7 +10180,7 @@ static void lts_aga_fm1_n1_p8_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -10248,7 +10248,7 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -10268,7 +10268,7 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -10336,7 +10336,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10406,7 +10406,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10428,7 +10428,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -10498,7 +10498,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10571,7 +10571,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10596,7 +10596,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -10885,7 +10885,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -10902,7 +10902,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -10965,7 +10965,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -10982,7 +10982,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -11047,7 +11047,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -11067,7 +11067,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -11133,7 +11133,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -11153,7 +11153,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -11438,7 +11438,7 @@ static void lts_aga_fm1_n0_p2_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -11518,7 +11518,7 @@ static void lts_aga_fm1_n0_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -11543,7 +11543,7 @@ static void lts_aga_fm1_n0_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -11616,7 +11616,7 @@ static void lts_aga_fm1_n1_p2_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -11699,7 +11699,7 @@ static void lts_aga_fm1_n1_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -11727,7 +11727,7 @@ static void lts_aga_fm1_n1_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -11803,7 +11803,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -11888,7 +11888,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -11918,7 +11918,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -11996,7 +11996,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -12084,7 +12084,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -12117,7 +12117,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -13042,7 +13042,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -13122,7 +13122,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -13147,7 +13147,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -13220,7 +13220,7 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -13303,7 +13303,7 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -13331,7 +13331,7 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -13407,7 +13407,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -13492,7 +13492,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -13522,7 +13522,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -13600,7 +13600,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -13688,7 +13688,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -13721,7 +13721,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -14646,7 +14646,7 @@ static void lts_aga_fm1_n0_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -14726,7 +14726,7 @@ static void lts_aga_fm1_n0_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -14751,7 +14751,7 @@ static void lts_aga_fm1_n0_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -14824,7 +14824,7 @@ static void lts_aga_fm1_n1_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -14907,7 +14907,7 @@ static void lts_aga_fm1_n1_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -14935,7 +14935,7 @@ static void lts_aga_fm1_n1_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -15011,7 +15011,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -15096,7 +15096,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -15126,7 +15126,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -15204,7 +15204,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -15292,7 +15292,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -15325,7 +15325,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -15406,7 +15406,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -15492,7 +15492,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -15523,7 +15523,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -15602,7 +15602,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -15691,7 +15691,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -15725,7 +15725,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -15807,7 +15807,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -15832,7 +15832,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -15902,7 +15902,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -15927,7 +15927,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -16000,7 +16000,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -16028,7 +16028,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -16101,7 +16101,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -16129,7 +16129,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -16205,7 +16205,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -16286,7 +16286,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -16312,7 +16312,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -16386,7 +16386,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -16470,7 +16470,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -16499,7 +16499,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -16576,7 +16576,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -16656,7 +16656,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -16681,7 +16681,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -16754,7 +16754,7 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -16837,7 +16837,7 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -16865,7 +16865,7 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -16941,7 +16941,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -17026,7 +17026,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -17056,7 +17056,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -17134,7 +17134,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -17222,7 +17222,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -17255,7 +17255,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -17614,7 +17614,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -17639,7 +17639,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -17709,7 +17709,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -17734,7 +17734,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -17807,7 +17807,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -17835,7 +17835,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -17908,7 +17908,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -17936,7 +17936,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -18929,7 +18929,7 @@ static void lts_aga_fm1_n0_p2_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -18953,7 +18953,7 @@ static void lts_aga_fm1_n0_p2_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -19036,7 +19036,7 @@ static void lts_aga_fm1_n1_p2_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -19071,7 +19071,7 @@ static void lts_aga_fm1_n1_p2_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -19165,7 +19165,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -19194,7 +19194,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -19282,7 +19282,7 @@ static void lts_aga_fm1_dpf1_p2_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -19322,7 +19322,7 @@ static void lts_aga_fm1_dpf1_p2_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -19841,7 +19841,7 @@ static void lts_aga_fm1_n0_p4_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -19865,7 +19865,7 @@ static void lts_aga_fm1_n0_p4_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -19948,7 +19948,7 @@ static void lts_aga_fm1_n1_p4_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -19983,7 +19983,7 @@ static void lts_aga_fm1_n1_p4_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -20077,7 +20077,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -20106,7 +20106,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -20194,7 +20194,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -20234,7 +20234,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -20753,7 +20753,7 @@ static void lts_aga_fm1_n0_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -20777,7 +20777,7 @@ static void lts_aga_fm1_n0_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -20860,7 +20860,7 @@ static void lts_aga_fm1_n1_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -20895,7 +20895,7 @@ static void lts_aga_fm1_n1_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -20989,7 +20989,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -21018,7 +21018,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -21106,7 +21106,7 @@ static void lts_aga_fm1_dpf1_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -21146,7 +21146,7 @@ static void lts_aga_fm1_dpf1_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -21245,7 +21245,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -21275,7 +21275,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -21364,7 +21364,7 @@ static void lts_aga_fm1_ehb1_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -21405,7 +21405,7 @@ static void lts_aga_fm1_ehb1_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -21505,7 +21505,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -21529,7 +21529,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -21612,7 +21612,7 @@ static void lts_aga_fm1_ham1_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -21647,7 +21647,7 @@ static void lts_aga_fm1_ham1_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -21741,7 +21741,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -21766,7 +21766,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -21850,7 +21850,7 @@ static void lts_aga_fm1_kehb1_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -21886,7 +21886,7 @@ static void lts_aga_fm1_kehb1_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -21981,7 +21981,7 @@ static void lts_aga_fm1_n0_p8_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -22005,7 +22005,7 @@ static void lts_aga_fm1_n0_p8_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -22088,7 +22088,7 @@ static void lts_aga_fm1_n1_p8_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -22123,7 +22123,7 @@ static void lts_aga_fm1_n1_p8_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -22217,7 +22217,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -22246,7 +22246,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -22334,7 +22334,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -22374,7 +22374,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -22613,7 +22613,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -22637,7 +22637,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -22720,7 +22720,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -22755,7 +22755,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -22990,7 +22990,7 @@ static void lts_aga_fm1_n0_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -23023,7 +23023,7 @@ static void lts_aga_fm1_n0_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -23127,7 +23127,7 @@ static void lts_aga_fm1_n1_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -23171,7 +23171,7 @@ static void lts_aga_fm1_n1_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -23286,7 +23286,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -23324,7 +23324,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -23433,7 +23433,7 @@ static void lts_aga_fm1_dpf1_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -23482,7 +23482,7 @@ static void lts_aga_fm1_dpf1_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -24202,7 +24202,7 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -24235,7 +24235,7 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -24339,7 +24339,7 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -24383,7 +24383,7 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -24498,7 +24498,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -24536,7 +24536,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -24645,7 +24645,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -24694,7 +24694,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -25414,7 +25414,7 @@ static void lts_aga_fm1_n0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -25447,7 +25447,7 @@ static void lts_aga_fm1_n0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -25551,7 +25551,7 @@ static void lts_aga_fm1_n1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -25595,7 +25595,7 @@ static void lts_aga_fm1_n1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -25710,7 +25710,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -25748,7 +25748,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -25857,7 +25857,7 @@ static void lts_aga_fm1_dpf1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -25906,7 +25906,7 @@ static void lts_aga_fm1_dpf1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -26026,7 +26026,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -26065,7 +26065,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -26175,7 +26175,7 @@ static void lts_aga_fm1_ehb1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -26225,7 +26225,7 @@ static void lts_aga_fm1_ehb1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -26346,7 +26346,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -26379,7 +26379,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -26483,7 +26483,7 @@ static void lts_aga_fm1_ham1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -26527,7 +26527,7 @@ static void lts_aga_fm1_ham1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -26642,7 +26642,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -26676,7 +26676,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -26781,7 +26781,7 @@ static void lts_aga_fm1_kehb1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -26826,7 +26826,7 @@ static void lts_aga_fm1_kehb1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -26942,7 +26942,7 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -26975,7 +26975,7 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -27079,7 +27079,7 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -27123,7 +27123,7 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -27238,7 +27238,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -27276,7 +27276,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -27385,7 +27385,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -27434,7 +27434,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -27754,7 +27754,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -27787,7 +27787,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -27891,7 +27891,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -27935,7 +27935,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -28249,7 +28249,7 @@ static void lts_aga_fm1_n0_p2_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -28267,7 +28267,7 @@ static void lts_aga_fm1_n0_p2_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -28344,7 +28344,7 @@ static void lts_aga_fm1_n1_p2_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -28365,7 +28365,7 @@ static void lts_aga_fm1_n1_p2_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -28445,7 +28445,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -28468,7 +28468,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -28550,7 +28550,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -28576,7 +28576,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -29081,7 +29081,7 @@ static void lts_aga_fm1_n0_p4_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -29099,7 +29099,7 @@ static void lts_aga_fm1_n0_p4_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -29176,7 +29176,7 @@ static void lts_aga_fm1_n1_p4_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -29197,7 +29197,7 @@ static void lts_aga_fm1_n1_p4_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -29277,7 +29277,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -29300,7 +29300,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -29382,7 +29382,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -29408,7 +29408,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -29913,7 +29913,7 @@ static void lts_aga_fm1_n0_p6_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -29931,7 +29931,7 @@ static void lts_aga_fm1_n0_p6_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -30008,7 +30008,7 @@ static void lts_aga_fm1_n1_p6_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -30029,7 +30029,7 @@ static void lts_aga_fm1_n1_p6_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -30109,7 +30109,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -30132,7 +30132,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -30214,7 +30214,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -30240,7 +30240,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -30325,7 +30325,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -30349,7 +30349,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -30432,7 +30432,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -30459,7 +30459,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -30545,7 +30545,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -30563,7 +30563,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -30640,7 +30640,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -30661,7 +30661,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -30741,7 +30741,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -30760,7 +30760,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -30838,7 +30838,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -30860,7 +30860,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -30941,7 +30941,7 @@ static void lts_aga_fm1_n0_p8_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -30959,7 +30959,7 @@ static void lts_aga_fm1_n0_p8_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -31036,7 +31036,7 @@ static void lts_aga_fm1_n1_p8_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -31057,7 +31057,7 @@ static void lts_aga_fm1_n1_p8_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -31137,7 +31137,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -31160,7 +31160,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -31242,7 +31242,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -31268,7 +31268,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -31493,7 +31493,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -31511,7 +31511,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -31588,7 +31588,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -31609,7 +31609,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -31830,7 +31830,7 @@ static void lts_aga_fm1_n0_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -31857,7 +31857,7 @@ static void lts_aga_fm1_n0_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -31955,7 +31955,7 @@ static void lts_aga_fm1_n1_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -31985,7 +31985,7 @@ static void lts_aga_fm1_n1_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -32086,7 +32086,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -32118,7 +32118,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -32221,7 +32221,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -32256,7 +32256,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -32962,7 +32962,7 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -32989,7 +32989,7 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -33087,7 +33087,7 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -33117,7 +33117,7 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -33218,7 +33218,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -33250,7 +33250,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -33353,7 +33353,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -33388,7 +33388,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -34094,7 +34094,7 @@ static void lts_aga_fm1_n0_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -34121,7 +34121,7 @@ static void lts_aga_fm1_n0_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -34219,7 +34219,7 @@ static void lts_aga_fm1_n1_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -34249,7 +34249,7 @@ static void lts_aga_fm1_n1_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -34350,7 +34350,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -34382,7 +34382,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -34485,7 +34485,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -34520,7 +34520,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -34626,7 +34626,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -34659,7 +34659,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -34763,7 +34763,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -34799,7 +34799,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -34906,7 +34906,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -34933,7 +34933,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -35031,7 +35031,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -35061,7 +35061,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -35162,7 +35162,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -35190,7 +35190,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -35289,7 +35289,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -35320,7 +35320,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -35422,7 +35422,7 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -35449,7 +35449,7 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -35547,7 +35547,7 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -35577,7 +35577,7 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -35678,7 +35678,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -35710,7 +35710,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -35813,7 +35813,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -35848,7 +35848,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -36154,7 +36154,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -36181,7 +36181,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -36279,7 +36279,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -36309,7 +36309,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -36609,7 +36609,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -36628,7 +36628,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -36702,7 +36702,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -36719,7 +36719,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -36737,7 +36737,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -36754,7 +36754,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -36829,7 +36829,7 @@ static void lts_aga_fm1_n1_p2_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -36851,7 +36851,7 @@ static void lts_aga_fm1_n1_p2_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -36928,7 +36928,7 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -36948,7 +36948,7 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -36969,7 +36969,7 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -36989,7 +36989,7 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -37067,7 +37067,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -37091,7 +37091,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -37170,7 +37170,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -37192,7 +37192,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -37215,7 +37215,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -37237,7 +37237,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -37317,7 +37317,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -37344,7 +37344,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -37426,7 +37426,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -37451,7 +37451,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -37477,7 +37477,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -37502,7 +37502,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -38469,7 +38469,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -38488,7 +38488,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -38562,7 +38562,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -38579,7 +38579,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -38597,7 +38597,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -38614,7 +38614,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -38689,7 +38689,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -38711,7 +38711,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -38788,7 +38788,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -38808,7 +38808,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -38829,7 +38829,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -38849,7 +38849,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -38927,7 +38927,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -38951,7 +38951,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -39030,7 +39030,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -39052,7 +39052,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -39075,7 +39075,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -39097,7 +39097,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -39177,7 +39177,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -39204,7 +39204,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -39286,7 +39286,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -39311,7 +39311,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -39337,7 +39337,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -39362,7 +39362,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -43250,7 +43250,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -43278,7 +43278,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -43373,7 +43373,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -43398,7 +43398,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -43417,7 +43417,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -43442,7 +43442,7 @@ static void lts_aga_fm1_n0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -43532,7 +43532,7 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -43563,7 +43563,7 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -43661,7 +43661,7 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -43689,7 +43689,7 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -43711,7 +43711,7 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -43739,7 +43739,7 @@ static void lts_aga_fm1_n1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -43832,7 +43832,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -43865,7 +43865,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -43965,7 +43965,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -43995,7 +43995,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -44019,7 +44019,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -44049,7 +44049,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -44144,7 +44144,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -44180,7 +44180,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -44283,7 +44283,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -44316,7 +44316,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -44343,7 +44343,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -44376,7 +44376,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -45730,7 +45730,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -45758,7 +45758,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -45853,7 +45853,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -45878,7 +45878,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -45897,7 +45897,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -45922,7 +45922,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -46012,7 +46012,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -46043,7 +46043,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -46141,7 +46141,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -46169,7 +46169,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -46191,7 +46191,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -46219,7 +46219,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -46312,7 +46312,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -46345,7 +46345,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -46445,7 +46445,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -46475,7 +46475,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -46499,7 +46499,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -46529,7 +46529,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -46624,7 +46624,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -46660,7 +46660,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -46763,7 +46763,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -46796,7 +46796,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -46823,7 +46823,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -46856,7 +46856,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -52369,7 +52369,7 @@ static void lts_aga_fm1_n0_p2_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -52393,7 +52393,7 @@ static void lts_aga_fm1_n0_p2_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -52417,7 +52417,7 @@ static void lts_aga_fm1_n0_p2_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -52441,7 +52441,7 @@ static void lts_aga_fm1_n0_p2_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -52542,7 +52542,7 @@ static void lts_aga_fm1_n1_p2_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -52577,7 +52577,7 @@ static void lts_aga_fm1_n1_p2_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -52612,7 +52612,7 @@ static void lts_aga_fm1_n1_p2_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -52647,7 +52647,7 @@ static void lts_aga_fm1_n1_p2_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -52759,7 +52759,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -52788,7 +52788,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -52817,7 +52817,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -52846,7 +52846,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -52952,7 +52952,7 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -52992,7 +52992,7 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -53032,7 +53032,7 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -53072,7 +53072,7 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -53789,7 +53789,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -53813,7 +53813,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -53837,7 +53837,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -53861,7 +53861,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -53962,7 +53962,7 @@ static void lts_aga_fm1_n1_p4_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -53997,7 +53997,7 @@ static void lts_aga_fm1_n1_p4_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -54032,7 +54032,7 @@ static void lts_aga_fm1_n1_p4_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -54067,7 +54067,7 @@ static void lts_aga_fm1_n1_p4_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -54179,7 +54179,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -54208,7 +54208,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -54237,7 +54237,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -54266,7 +54266,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -54372,7 +54372,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -54412,7 +54412,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -54452,7 +54452,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -54492,7 +54492,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -55209,7 +55209,7 @@ static void lts_aga_fm1_n0_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -55233,7 +55233,7 @@ static void lts_aga_fm1_n0_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -55257,7 +55257,7 @@ static void lts_aga_fm1_n0_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -55281,7 +55281,7 @@ static void lts_aga_fm1_n0_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -55382,7 +55382,7 @@ static void lts_aga_fm1_n1_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -55417,7 +55417,7 @@ static void lts_aga_fm1_n1_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -55452,7 +55452,7 @@ static void lts_aga_fm1_n1_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -55487,7 +55487,7 @@ static void lts_aga_fm1_n1_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -55599,7 +55599,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -55628,7 +55628,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -55657,7 +55657,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -55686,7 +55686,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -55792,7 +55792,7 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -55832,7 +55832,7 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -55872,7 +55872,7 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -55912,7 +55912,7 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -56029,7 +56029,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -56059,7 +56059,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -56089,7 +56089,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -56119,7 +56119,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -56226,7 +56226,7 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -56267,7 +56267,7 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -56308,7 +56308,7 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -56349,7 +56349,7 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -56467,7 +56467,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -56491,7 +56491,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -56515,7 +56515,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -56539,7 +56539,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -56640,7 +56640,7 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -56675,7 +56675,7 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -56710,7 +56710,7 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -56745,7 +56745,7 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -56857,7 +56857,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -56882,7 +56882,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -56907,7 +56907,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -56932,7 +56932,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -57034,7 +57034,7 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -57070,7 +57070,7 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -57106,7 +57106,7 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -57142,7 +57142,7 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -57255,7 +57255,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -57279,7 +57279,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -57303,7 +57303,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -57327,7 +57327,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -57428,7 +57428,7 @@ static void lts_aga_fm1_n1_p8_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -57463,7 +57463,7 @@ static void lts_aga_fm1_n1_p8_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -57498,7 +57498,7 @@ static void lts_aga_fm1_n1_p8_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -57533,7 +57533,7 @@ static void lts_aga_fm1_n1_p8_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -57645,7 +57645,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -57674,7 +57674,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -57703,7 +57703,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -57732,7 +57732,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -57838,7 +57838,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -57878,7 +57878,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -57918,7 +57918,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -57958,7 +57958,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -58275,7 +58275,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -58299,7 +58299,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -58323,7 +58323,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -58347,7 +58347,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -58448,7 +58448,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -58483,7 +58483,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -58518,7 +58518,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -58553,7 +58553,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -58866,7 +58866,7 @@ static void lts_aga_fm1_n0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -58899,7 +58899,7 @@ static void lts_aga_fm1_n0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -58932,7 +58932,7 @@ static void lts_aga_fm1_n0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -58965,7 +58965,7 @@ static void lts_aga_fm1_n0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -59099,7 +59099,7 @@ static void lts_aga_fm1_n1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -59143,7 +59143,7 @@ static void lts_aga_fm1_n1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -59187,7 +59187,7 @@ static void lts_aga_fm1_n1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -59231,7 +59231,7 @@ static void lts_aga_fm1_n1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -59376,7 +59376,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -59414,7 +59414,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -59452,7 +59452,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -59490,7 +59490,7 @@ static void lts_aga_fm1_dpf0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -59629,7 +59629,7 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -59678,7 +59678,7 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -59727,7 +59727,7 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -59776,7 +59776,7 @@ static void lts_aga_fm1_dpf1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -60886,7 +60886,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -60919,7 +60919,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -60952,7 +60952,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -60985,7 +60985,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -61119,7 +61119,7 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -61163,7 +61163,7 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -61207,7 +61207,7 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -61251,7 +61251,7 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -61396,7 +61396,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -61434,7 +61434,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -61472,7 +61472,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -61510,7 +61510,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -61649,7 +61649,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -61698,7 +61698,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -61747,7 +61747,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -61796,7 +61796,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -62906,7 +62906,7 @@ static void lts_aga_fm1_n0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -62939,7 +62939,7 @@ static void lts_aga_fm1_n0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -62972,7 +62972,7 @@ static void lts_aga_fm1_n0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -63005,7 +63005,7 @@ static void lts_aga_fm1_n0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -63139,7 +63139,7 @@ static void lts_aga_fm1_n1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -63183,7 +63183,7 @@ static void lts_aga_fm1_n1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -63227,7 +63227,7 @@ static void lts_aga_fm1_n1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -63271,7 +63271,7 @@ static void lts_aga_fm1_n1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -63416,7 +63416,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -63454,7 +63454,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -63492,7 +63492,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -63530,7 +63530,7 @@ static void lts_aga_fm1_dpf0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -63669,7 +63669,7 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -63718,7 +63718,7 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -63767,7 +63767,7 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -63816,7 +63816,7 @@ static void lts_aga_fm1_dpf1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -63966,7 +63966,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -64005,7 +64005,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -64044,7 +64044,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -64083,7 +64083,7 @@ static void lts_aga_fm1_ehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -64223,7 +64223,7 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -64273,7 +64273,7 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -64323,7 +64323,7 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -64373,7 +64373,7 @@ static void lts_aga_fm1_ehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -64524,7 +64524,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -64557,7 +64557,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -64590,7 +64590,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -64623,7 +64623,7 @@ static void lts_aga_fm1_ham0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -64757,7 +64757,7 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -64801,7 +64801,7 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -64845,7 +64845,7 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -64889,7 +64889,7 @@ static void lts_aga_fm1_ham1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -65034,7 +65034,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -65068,7 +65068,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -65102,7 +65102,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -65136,7 +65136,7 @@ static void lts_aga_fm1_kehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -65271,7 +65271,7 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -65316,7 +65316,7 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -65361,7 +65361,7 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -65406,7 +65406,7 @@ static void lts_aga_fm1_kehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -65552,7 +65552,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -65585,7 +65585,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -65618,7 +65618,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -65651,7 +65651,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -65785,7 +65785,7 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -65829,7 +65829,7 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -65873,7 +65873,7 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -65917,7 +65917,7 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -66062,7 +66062,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -66100,7 +66100,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -66138,7 +66138,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -66176,7 +66176,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -66315,7 +66315,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -66364,7 +66364,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -66413,7 +66413,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -66462,7 +66462,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -66932,7 +66932,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -66965,7 +66965,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -66998,7 +66998,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -67031,7 +67031,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -67165,7 +67165,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -67209,7 +67209,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -67253,7 +67253,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -67297,7 +67297,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -67761,7 +67761,7 @@ static void lts_aga_fm1_n0_p2_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -67785,7 +67785,7 @@ static void lts_aga_fm1_n0_p2_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -67809,7 +67809,7 @@ static void lts_aga_fm1_n0_p2_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -67833,7 +67833,7 @@ static void lts_aga_fm1_n0_p2_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -67934,7 +67934,7 @@ static void lts_aga_fm1_n1_p2_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -67969,7 +67969,7 @@ static void lts_aga_fm1_n1_p2_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -68004,7 +68004,7 @@ static void lts_aga_fm1_n1_p2_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -68039,7 +68039,7 @@ static void lts_aga_fm1_n1_p2_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -68151,7 +68151,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -68180,7 +68180,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -68209,7 +68209,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -68238,7 +68238,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -68344,7 +68344,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -68384,7 +68384,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -68424,7 +68424,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -68464,7 +68464,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -69181,7 +69181,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -69205,7 +69205,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -69229,7 +69229,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -69253,7 +69253,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -69354,7 +69354,7 @@ static void lts_aga_fm1_n1_p4_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -69389,7 +69389,7 @@ static void lts_aga_fm1_n1_p4_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -69424,7 +69424,7 @@ static void lts_aga_fm1_n1_p4_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -69459,7 +69459,7 @@ static void lts_aga_fm1_n1_p4_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -69571,7 +69571,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -69600,7 +69600,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -69629,7 +69629,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -69658,7 +69658,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -69764,7 +69764,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -69804,7 +69804,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -69844,7 +69844,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -69884,7 +69884,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -70601,7 +70601,7 @@ static void lts_aga_fm1_n0_p6_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -70625,7 +70625,7 @@ static void lts_aga_fm1_n0_p6_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -70649,7 +70649,7 @@ static void lts_aga_fm1_n0_p6_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -70673,7 +70673,7 @@ static void lts_aga_fm1_n0_p6_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -70774,7 +70774,7 @@ static void lts_aga_fm1_n1_p6_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -70809,7 +70809,7 @@ static void lts_aga_fm1_n1_p6_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -70844,7 +70844,7 @@ static void lts_aga_fm1_n1_p6_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -70879,7 +70879,7 @@ static void lts_aga_fm1_n1_p6_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -70991,7 +70991,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -71020,7 +71020,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -71049,7 +71049,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -71078,7 +71078,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -71184,7 +71184,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -71224,7 +71224,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -71264,7 +71264,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -71304,7 +71304,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -71421,7 +71421,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -71451,7 +71451,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -71481,7 +71481,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -71511,7 +71511,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -71618,7 +71618,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -71659,7 +71659,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -71700,7 +71700,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -71741,7 +71741,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -71859,7 +71859,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -71883,7 +71883,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -71907,7 +71907,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -71931,7 +71931,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -72032,7 +72032,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -72067,7 +72067,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -72102,7 +72102,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -72137,7 +72137,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -72249,7 +72249,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -72274,7 +72274,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -72299,7 +72299,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -72324,7 +72324,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -72426,7 +72426,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -72462,7 +72462,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -72498,7 +72498,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -72534,7 +72534,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -72647,7 +72647,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -72671,7 +72671,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -72695,7 +72695,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -72719,7 +72719,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -72820,7 +72820,7 @@ static void lts_aga_fm1_n1_p8_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -72855,7 +72855,7 @@ static void lts_aga_fm1_n1_p8_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -72890,7 +72890,7 @@ static void lts_aga_fm1_n1_p8_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -72925,7 +72925,7 @@ static void lts_aga_fm1_n1_p8_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -73037,7 +73037,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -73066,7 +73066,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -73095,7 +73095,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -73124,7 +73124,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -73230,7 +73230,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -73270,7 +73270,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -73310,7 +73310,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -73350,7 +73350,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -73667,7 +73667,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -73691,7 +73691,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -73715,7 +73715,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -73739,7 +73739,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -73840,7 +73840,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -73875,7 +73875,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -73910,7 +73910,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -73945,7 +73945,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -74258,7 +74258,7 @@ static void lts_aga_fm1_n0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -74291,7 +74291,7 @@ static void lts_aga_fm1_n0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -74324,7 +74324,7 @@ static void lts_aga_fm1_n0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -74357,7 +74357,7 @@ static void lts_aga_fm1_n0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -74491,7 +74491,7 @@ static void lts_aga_fm1_n1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -74535,7 +74535,7 @@ static void lts_aga_fm1_n1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -74579,7 +74579,7 @@ static void lts_aga_fm1_n1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -74623,7 +74623,7 @@ static void lts_aga_fm1_n1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -74768,7 +74768,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -74806,7 +74806,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -74844,7 +74844,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -74882,7 +74882,7 @@ static void lts_aga_fm1_dpf0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -75021,7 +75021,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -75070,7 +75070,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -75119,7 +75119,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -75168,7 +75168,7 @@ static void lts_aga_fm1_dpf1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -76278,7 +76278,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -76311,7 +76311,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -76344,7 +76344,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -76377,7 +76377,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -76511,7 +76511,7 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -76555,7 +76555,7 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -76599,7 +76599,7 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -76643,7 +76643,7 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -76788,7 +76788,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -76826,7 +76826,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -76864,7 +76864,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -76902,7 +76902,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -77041,7 +77041,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -77090,7 +77090,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -77139,7 +77139,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -77188,7 +77188,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -78298,7 +78298,7 @@ static void lts_aga_fm1_n0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -78331,7 +78331,7 @@ static void lts_aga_fm1_n0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -78364,7 +78364,7 @@ static void lts_aga_fm1_n0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -78397,7 +78397,7 @@ static void lts_aga_fm1_n0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -78531,7 +78531,7 @@ static void lts_aga_fm1_n1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -78575,7 +78575,7 @@ static void lts_aga_fm1_n1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -78619,7 +78619,7 @@ static void lts_aga_fm1_n1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -78663,7 +78663,7 @@ static void lts_aga_fm1_n1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -78808,7 +78808,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -78846,7 +78846,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -78884,7 +78884,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -78922,7 +78922,7 @@ static void lts_aga_fm1_dpf0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -79061,7 +79061,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -79110,7 +79110,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -79159,7 +79159,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -79208,7 +79208,7 @@ static void lts_aga_fm1_dpf1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -79358,7 +79358,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -79397,7 +79397,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -79436,7 +79436,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -79475,7 +79475,7 @@ static void lts_aga_fm1_ehb0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -79615,7 +79615,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -79665,7 +79665,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -79715,7 +79715,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -79765,7 +79765,7 @@ static void lts_aga_fm1_ehb1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -79916,7 +79916,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -79949,7 +79949,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -79982,7 +79982,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -80015,7 +80015,7 @@ static void lts_aga_fm1_ham0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -80149,7 +80149,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -80193,7 +80193,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -80237,7 +80237,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -80281,7 +80281,7 @@ static void lts_aga_fm1_ham1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -80426,7 +80426,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -80460,7 +80460,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -80494,7 +80494,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -80528,7 +80528,7 @@ static void lts_aga_fm1_kehb0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -80663,7 +80663,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -80708,7 +80708,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -80753,7 +80753,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -80798,7 +80798,7 @@ static void lts_aga_fm1_kehb1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -80944,7 +80944,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -80977,7 +80977,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -81010,7 +81010,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -81043,7 +81043,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -81177,7 +81177,7 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -81221,7 +81221,7 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -81265,7 +81265,7 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -81309,7 +81309,7 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -81454,7 +81454,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -81492,7 +81492,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -81530,7 +81530,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -81568,7 +81568,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -81707,7 +81707,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -81756,7 +81756,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -81805,7 +81805,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -81854,7 +81854,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -82324,7 +82324,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -82357,7 +82357,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -82390,7 +82390,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -82423,7 +82423,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -82557,7 +82557,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -82601,7 +82601,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -82645,7 +82645,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -82689,7 +82689,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -83153,7 +83153,7 @@ static void lts_aga_fm1_n0_p2_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -83171,7 +83171,7 @@ static void lts_aga_fm1_n0_p2_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -83189,7 +83189,7 @@ static void lts_aga_fm1_n0_p2_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -83207,7 +83207,7 @@ static void lts_aga_fm1_n0_p2_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -83302,7 +83302,7 @@ static void lts_aga_fm1_n1_p2_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -83323,7 +83323,7 @@ static void lts_aga_fm1_n1_p2_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -83344,7 +83344,7 @@ static void lts_aga_fm1_n1_p2_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -83365,7 +83365,7 @@ static void lts_aga_fm1_n1_p2_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -83463,7 +83463,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -83486,7 +83486,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -83509,7 +83509,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -83532,7 +83532,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -83632,7 +83632,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -83658,7 +83658,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -83684,7 +83684,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -83710,7 +83710,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -84413,7 +84413,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -84431,7 +84431,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -84449,7 +84449,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -84467,7 +84467,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -84562,7 +84562,7 @@ static void lts_aga_fm1_n1_p4_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -84583,7 +84583,7 @@ static void lts_aga_fm1_n1_p4_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -84604,7 +84604,7 @@ static void lts_aga_fm1_n1_p4_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -84625,7 +84625,7 @@ static void lts_aga_fm1_n1_p4_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -84723,7 +84723,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -84746,7 +84746,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -84769,7 +84769,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -84792,7 +84792,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -84892,7 +84892,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -84918,7 +84918,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -84944,7 +84944,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -84970,7 +84970,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -87674,7 +87674,7 @@ static void lts_aga_fm1_n0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -87701,7 +87701,7 @@ static void lts_aga_fm1_n0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -87728,7 +87728,7 @@ static void lts_aga_fm1_n0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -87755,7 +87755,7 @@ static void lts_aga_fm1_n0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -87883,7 +87883,7 @@ static void lts_aga_fm1_n1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -87913,7 +87913,7 @@ static void lts_aga_fm1_n1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -87943,7 +87943,7 @@ static void lts_aga_fm1_n1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -87973,7 +87973,7 @@ static void lts_aga_fm1_n1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -88104,7 +88104,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -88136,7 +88136,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -88168,7 +88168,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -88200,7 +88200,7 @@ static void lts_aga_fm1_dpf0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -88333,7 +88333,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -88368,7 +88368,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -88403,7 +88403,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -88438,7 +88438,7 @@ static void lts_aga_fm1_dpf1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -89534,7 +89534,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -89561,7 +89561,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -89588,7 +89588,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -89615,7 +89615,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -89743,7 +89743,7 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -89773,7 +89773,7 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -89803,7 +89803,7 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -89833,7 +89833,7 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -89964,7 +89964,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -89996,7 +89996,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -90028,7 +90028,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -90060,7 +90060,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -90193,7 +90193,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -90228,7 +90228,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -90263,7 +90263,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -90298,7 +90298,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
index 570da2f501ed19bbb38fb1bcc510c8124043fe07..a4037a635fdaee0983aff5e4f65c2083101ccfea 100644 (file)
@@ -23,7 +23,7 @@ static void lts_aga_fm1_n0_p4_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -96,7 +96,7 @@ static void lts_aga_fm1_n1_p4_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -172,7 +172,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -250,7 +250,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -685,7 +685,7 @@ static void lts_aga_fm1_n0_p8_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -758,7 +758,7 @@ static void lts_aga_fm1_n1_p8_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -834,7 +834,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -912,7 +912,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1111,7 +1111,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -1184,7 +1184,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -1379,7 +1379,7 @@ static void lts_aga_fm1_n0_p4_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -1469,7 +1469,7 @@ static void lts_aga_fm1_n1_p4_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -1562,7 +1562,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1657,7 +1657,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2211,7 +2211,7 @@ static void lts_aga_fm1_n0_p8_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -2301,7 +2301,7 @@ static void lts_aga_fm1_n1_p8_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -2394,7 +2394,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2489,7 +2489,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2739,7 +2739,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -2829,7 +2829,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -3073,7 +3073,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -3143,7 +3143,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -3163,7 +3163,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -3234,7 +3234,7 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -3307,7 +3307,7 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -3330,7 +3330,7 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -3404,7 +3404,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3479,7 +3479,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3504,7 +3504,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -3580,7 +3580,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3658,7 +3658,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3686,7 +3686,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -4491,7 +4491,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -4561,7 +4561,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -4581,7 +4581,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -4652,7 +4652,7 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -4725,7 +4725,7 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -4748,7 +4748,7 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -4822,7 +4822,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -4897,7 +4897,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -4922,7 +4922,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -4998,7 +4998,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -5076,7 +5076,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -5104,7 +5104,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -5421,7 +5421,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -5440,7 +5440,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_genlock(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -5507,7 +5507,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -5527,7 +5527,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -5598,7 +5598,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -5620,7 +5620,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_genlock(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -5690,7 +5690,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -5713,7 +5713,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -6026,7 +6026,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -6113,7 +6113,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -6141,7 +6141,7 @@ static void lts_aga_fm1_n0_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -6222,7 +6222,7 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -6312,7 +6312,7 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -6343,7 +6343,7 @@ static void lts_aga_fm1_n1_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -6427,7 +6427,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6519,7 +6519,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6552,7 +6552,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -6638,7 +6638,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6733,7 +6733,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6769,7 +6769,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -7794,7 +7794,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -7881,7 +7881,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -7909,7 +7909,7 @@ static void lts_aga_fm1_n0_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -7990,7 +7990,7 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -8080,7 +8080,7 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -8111,7 +8111,7 @@ static void lts_aga_fm1_n1_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -8195,7 +8195,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -8287,7 +8287,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -8320,7 +8320,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -8406,7 +8406,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -8501,7 +8501,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -8537,7 +8537,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -8934,7 +8934,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -8961,7 +8961,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_genlock(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -9037,7 +9037,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -9065,7 +9065,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -9146,7 +9146,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -9176,7 +9176,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_genlock(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -9255,7 +9255,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -9286,7 +9286,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -9997,7 +9997,7 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -10024,7 +10024,7 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -10114,7 +10114,7 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -10152,7 +10152,7 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -10253,7 +10253,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10285,7 +10285,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -10380,7 +10380,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10423,7 +10423,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -10997,7 +10997,7 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -11024,7 +11024,7 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -11114,7 +11114,7 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -11152,7 +11152,7 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -11253,7 +11253,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -11285,7 +11285,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -11380,7 +11380,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -11423,7 +11423,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -11685,7 +11685,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -11712,7 +11712,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -11802,7 +11802,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -11840,7 +11840,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -12098,7 +12098,7 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -12134,7 +12134,7 @@ static void lts_aga_fm1_n0_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -12249,7 +12249,7 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -12296,7 +12296,7 @@ static void lts_aga_fm1_n1_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -12422,7 +12422,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -12463,7 +12463,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -12583,7 +12583,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -12635,7 +12635,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -13438,7 +13438,7 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -13474,7 +13474,7 @@ static void lts_aga_fm1_n0_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -13589,7 +13589,7 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -13636,7 +13636,7 @@ static void lts_aga_fm1_n1_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -13762,7 +13762,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -13803,7 +13803,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -13923,7 +13923,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -13975,7 +13975,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -14330,7 +14330,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -14366,7 +14366,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -14481,7 +14481,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -14528,7 +14528,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -14877,7 +14877,7 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -14898,7 +14898,7 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -14982,7 +14982,7 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -15006,7 +15006,7 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -15093,7 +15093,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -15119,7 +15119,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -15208,7 +15208,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -15237,7 +15237,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -15797,7 +15797,7 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -15818,7 +15818,7 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -15902,7 +15902,7 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -15926,7 +15926,7 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -16013,7 +16013,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -16039,7 +16039,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -16128,7 +16128,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -16157,7 +16157,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -16405,7 +16405,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -16426,7 +16426,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -16510,7 +16510,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -16534,7 +16534,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -16778,7 +16778,7 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -16808,7 +16808,7 @@ static void lts_aga_fm1_n0_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -16917,7 +16917,7 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -16950,7 +16950,7 @@ static void lts_aga_fm1_n1_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -17062,7 +17062,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -17097,7 +17097,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -17211,7 +17211,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -17249,7 +17249,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -18038,7 +18038,7 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -18068,7 +18068,7 @@ static void lts_aga_fm1_n0_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -18177,7 +18177,7 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -18210,7 +18210,7 @@ static void lts_aga_fm1_n1_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -18322,7 +18322,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -18357,7 +18357,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -18471,7 +18471,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -18509,7 +18509,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -18850,7 +18850,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -18880,7 +18880,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -18989,7 +18989,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -19022,7 +19022,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -19357,7 +19357,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -19379,7 +19379,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -19460,7 +19460,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -19480,7 +19480,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -19501,7 +19501,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -19521,7 +19521,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -19605,7 +19605,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -19630,7 +19630,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -19714,7 +19714,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -19737,7 +19737,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -19761,7 +19761,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -19784,7 +19784,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -19871,7 +19871,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -19898,7 +19898,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -19984,7 +19984,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -20009,7 +20009,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -20035,7 +20035,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -20060,7 +20060,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -20149,7 +20149,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -20179,7 +20179,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -20268,7 +20268,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -20296,7 +20296,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -20325,7 +20325,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -20353,7 +20353,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -23150,7 +23150,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -23181,7 +23181,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -23287,7 +23287,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -23315,7 +23315,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -23337,7 +23337,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -23365,7 +23365,7 @@ static void lts_aga_fm1_n0_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -23468,7 +23468,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -23502,7 +23502,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -23611,7 +23611,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -23642,7 +23642,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -23667,7 +23667,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -23698,7 +23698,7 @@ static void lts_aga_fm1_n1_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -23804,7 +23804,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -23840,7 +23840,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -23951,7 +23951,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -23984,7 +23984,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -24011,7 +24011,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -24044,7 +24044,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -24152,7 +24152,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -24191,7 +24191,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -24305,7 +24305,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -24341,7 +24341,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -24371,7 +24371,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -24407,7 +24407,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -28341,7 +28341,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -28368,7 +28368,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -28395,7 +28395,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -28422,7 +28422,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -28534,7 +28534,7 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -28572,7 +28572,7 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -28610,7 +28610,7 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -28648,7 +28648,7 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -28771,7 +28771,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -28803,7 +28803,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -28835,7 +28835,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -28867,7 +28867,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -28984,7 +28984,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -29027,7 +29027,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -29070,7 +29070,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -29113,7 +29113,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -29937,7 +29937,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -29964,7 +29964,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -29991,7 +29991,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -30018,7 +30018,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -30130,7 +30130,7 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -30168,7 +30168,7 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -30206,7 +30206,7 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -30244,7 +30244,7 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -30367,7 +30367,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -30399,7 +30399,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -30431,7 +30431,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -30463,7 +30463,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -30580,7 +30580,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -30623,7 +30623,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -30666,7 +30666,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -30709,7 +30709,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -31069,7 +31069,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -31096,7 +31096,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -31123,7 +31123,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -31150,7 +31150,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -31262,7 +31262,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -31300,7 +31300,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -31338,7 +31338,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -31376,7 +31376,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -31732,7 +31732,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -31768,7 +31768,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -31804,7 +31804,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -31840,7 +31840,7 @@ static void lts_aga_fm1_n0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -31993,7 +31993,7 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -32040,7 +32040,7 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -32087,7 +32087,7 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -32134,7 +32134,7 @@ static void lts_aga_fm1_n1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -32298,7 +32298,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -32339,7 +32339,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -32380,7 +32380,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -32421,7 +32421,7 @@ static void lts_aga_fm1_dpf0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -32579,7 +32579,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -32631,7 +32631,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -32683,7 +32683,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -32735,7 +32735,7 @@ static void lts_aga_fm1_dpf1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -34008,7 +34008,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -34044,7 +34044,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -34080,7 +34080,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -34116,7 +34116,7 @@ static void lts_aga_fm1_n0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -34269,7 +34269,7 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -34316,7 +34316,7 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -34363,7 +34363,7 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -34410,7 +34410,7 @@ static void lts_aga_fm1_n1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -34574,7 +34574,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -34615,7 +34615,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -34656,7 +34656,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -34697,7 +34697,7 @@ static void lts_aga_fm1_dpf0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -34855,7 +34855,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -34907,7 +34907,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -34959,7 +34959,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -35011,7 +35011,7 @@ static void lts_aga_fm1_dpf1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -35548,7 +35548,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -35584,7 +35584,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -35620,7 +35620,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -35656,7 +35656,7 @@ static void lts_aga_fm1_ham0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -35809,7 +35809,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -35856,7 +35856,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -35903,7 +35903,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -35950,7 +35950,7 @@ static void lts_aga_fm1_ham1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -36481,7 +36481,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -36508,7 +36508,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -36535,7 +36535,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -36562,7 +36562,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -36674,7 +36674,7 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -36712,7 +36712,7 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -36750,7 +36750,7 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -36788,7 +36788,7 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -36911,7 +36911,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -36943,7 +36943,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -36975,7 +36975,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -37007,7 +37007,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -37124,7 +37124,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -37167,7 +37167,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -37210,7 +37210,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -37253,7 +37253,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -38077,7 +38077,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -38104,7 +38104,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -38131,7 +38131,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -38158,7 +38158,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -38270,7 +38270,7 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -38308,7 +38308,7 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -38346,7 +38346,7 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -38384,7 +38384,7 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -38507,7 +38507,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -38539,7 +38539,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -38571,7 +38571,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -38603,7 +38603,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -38720,7 +38720,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -38763,7 +38763,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -38806,7 +38806,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -38849,7 +38849,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -39209,7 +39209,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -39236,7 +39236,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -39263,7 +39263,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -39290,7 +39290,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -39402,7 +39402,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -39440,7 +39440,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -39478,7 +39478,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -39516,7 +39516,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -39872,7 +39872,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -39908,7 +39908,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -39944,7 +39944,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -39980,7 +39980,7 @@ static void lts_aga_fm1_n0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -40133,7 +40133,7 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -40180,7 +40180,7 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -40227,7 +40227,7 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -40274,7 +40274,7 @@ static void lts_aga_fm1_n1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -40438,7 +40438,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -40479,7 +40479,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -40520,7 +40520,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -40561,7 +40561,7 @@ static void lts_aga_fm1_dpf0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -40719,7 +40719,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -40771,7 +40771,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -40823,7 +40823,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -40875,7 +40875,7 @@ static void lts_aga_fm1_dpf1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -42148,7 +42148,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -42184,7 +42184,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -42220,7 +42220,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -42256,7 +42256,7 @@ static void lts_aga_fm1_n0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -42409,7 +42409,7 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -42456,7 +42456,7 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -42503,7 +42503,7 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -42550,7 +42550,7 @@ static void lts_aga_fm1_n1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -42714,7 +42714,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -42755,7 +42755,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -42796,7 +42796,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -42837,7 +42837,7 @@ static void lts_aga_fm1_dpf0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -42995,7 +42995,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -43047,7 +43047,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -43099,7 +43099,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -43151,7 +43151,7 @@ static void lts_aga_fm1_dpf1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -43688,7 +43688,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -43724,7 +43724,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -43760,7 +43760,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -43796,7 +43796,7 @@ static void lts_aga_fm1_ham0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -43949,7 +43949,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -43996,7 +43996,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -44043,7 +44043,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -44090,7 +44090,7 @@ static void lts_aga_fm1_ham1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -44621,7 +44621,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -44642,7 +44642,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -44663,7 +44663,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -44684,7 +44684,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -44790,7 +44790,7 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -44814,7 +44814,7 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -44838,7 +44838,7 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -44862,7 +44862,7 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -44971,7 +44971,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -44997,7 +44997,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -45023,7 +45023,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -45049,7 +45049,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -45160,7 +45160,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -45189,7 +45189,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -45218,7 +45218,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -45247,7 +45247,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -47218,7 +47218,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -47248,7 +47248,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -47278,7 +47278,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -47308,7 +47308,7 @@ static void lts_aga_fm1_n0_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -47455,7 +47455,7 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -47488,7 +47488,7 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -47521,7 +47521,7 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -47554,7 +47554,7 @@ static void lts_aga_fm1_n1_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -47704,7 +47704,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -47739,7 +47739,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -47774,7 +47774,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -47809,7 +47809,7 @@ static void lts_aga_fm1_dpf0_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -47961,7 +47961,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -47999,7 +47999,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -48037,7 +48037,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -48075,7 +48075,7 @@ static void lts_aga_fm1_dpf1_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
index ff2f7a04e754553e006a1a4ea6031a1d61412caf..77400d380ffb4c56b298d76bff92de928179209b 100644 (file)
@@ -21,7 +21,7 @@ static void lts_aga_fm2_n0_p2_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -89,7 +89,7 @@ static void lts_aga_fm2_n1_p2_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -160,7 +160,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -233,7 +233,7 @@ static void lts_aga_fm2_dpf1_p2_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -639,7 +639,7 @@ static void lts_aga_fm2_n0_p4_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -707,7 +707,7 @@ static void lts_aga_fm2_n1_p4_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -778,7 +778,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -851,7 +851,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1257,7 +1257,7 @@ static void lts_aga_fm2_n0_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -1325,7 +1325,7 @@ static void lts_aga_fm2_n1_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -1396,7 +1396,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1469,7 +1469,7 @@ static void lts_aga_fm2_dpf1_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1545,7 +1545,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -1619,7 +1619,7 @@ static void lts_aga_fm2_ehb1_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -1696,7 +1696,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -1764,7 +1764,7 @@ static void lts_aga_fm2_ham1_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -1835,7 +1835,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -1904,7 +1904,7 @@ static void lts_aga_fm2_kehb1_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -1976,7 +1976,7 @@ static void lts_aga_fm2_n0_p8_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -2044,7 +2044,7 @@ static void lts_aga_fm2_n1_p8_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -2115,7 +2115,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2188,7 +2188,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2374,7 +2374,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -2442,7 +2442,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -2624,7 +2624,7 @@ static void lts_aga_fm2_n0_p2_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -2707,7 +2707,7 @@ static void lts_aga_fm2_n1_p2_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -2793,7 +2793,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2881,7 +2881,7 @@ static void lts_aga_fm2_dpf1_p2_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3392,7 +3392,7 @@ static void lts_aga_fm2_n0_p4_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -3475,7 +3475,7 @@ static void lts_aga_fm2_n1_p4_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -3561,7 +3561,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3649,7 +3649,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -4160,7 +4160,7 @@ static void lts_aga_fm2_n0_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -4243,7 +4243,7 @@ static void lts_aga_fm2_n1_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -4329,7 +4329,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -4417,7 +4417,7 @@ static void lts_aga_fm2_dpf1_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -4508,7 +4508,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -4597,7 +4597,7 @@ static void lts_aga_fm2_ehb1_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -4689,7 +4689,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -4772,7 +4772,7 @@ static void lts_aga_fm2_ham1_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -4858,7 +4858,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -4942,7 +4942,7 @@ static void lts_aga_fm2_kehb1_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -5029,7 +5029,7 @@ static void lts_aga_fm2_n0_p8_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -5112,7 +5112,7 @@ static void lts_aga_fm2_n1_p8_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -5198,7 +5198,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -5286,7 +5286,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -5517,7 +5517,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -5600,7 +5600,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -5825,7 +5825,7 @@ static void lts_aga_fm2_n0_p2_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -5890,7 +5890,7 @@ static void lts_aga_fm2_n0_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -5907,7 +5907,7 @@ static void lts_aga_fm2_n0_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -5972,7 +5972,7 @@ static void lts_aga_fm2_n1_p2_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -6040,7 +6040,7 @@ static void lts_aga_fm2_n1_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -6060,7 +6060,7 @@ static void lts_aga_fm2_n1_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -6128,7 +6128,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6198,7 +6198,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6220,7 +6220,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -6290,7 +6290,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6363,7 +6363,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6388,7 +6388,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -7119,7 +7119,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -7184,7 +7184,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -7201,7 +7201,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -7266,7 +7266,7 @@ static void lts_aga_fm2_n1_p4_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -7334,7 +7334,7 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -7354,7 +7354,7 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -7422,7 +7422,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -7492,7 +7492,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -7514,7 +7514,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -7584,7 +7584,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -7657,7 +7657,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -7682,7 +7682,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -8413,7 +8413,7 @@ static void lts_aga_fm2_n0_p6_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -8478,7 +8478,7 @@ static void lts_aga_fm2_n0_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -8495,7 +8495,7 @@ static void lts_aga_fm2_n0_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -8560,7 +8560,7 @@ static void lts_aga_fm2_n1_p6_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -8628,7 +8628,7 @@ static void lts_aga_fm2_n1_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -8648,7 +8648,7 @@ static void lts_aga_fm2_n1_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -8716,7 +8716,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -8786,7 +8786,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -8808,7 +8808,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -8878,7 +8878,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -8951,7 +8951,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -8976,7 +8976,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -9049,7 +9049,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -9120,7 +9120,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -9143,7 +9143,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -9214,7 +9214,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -9288,7 +9288,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -9314,7 +9314,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -9388,7 +9388,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -9405,7 +9405,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -9468,7 +9468,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -9485,7 +9485,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -9550,7 +9550,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -9570,7 +9570,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -9636,7 +9636,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -9656,7 +9656,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -9724,7 +9724,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -9790,7 +9790,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -9808,7 +9808,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -9874,7 +9874,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -9943,7 +9943,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -9964,7 +9964,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -10033,7 +10033,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -10098,7 +10098,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -10115,7 +10115,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -10180,7 +10180,7 @@ static void lts_aga_fm2_n1_p8_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -10248,7 +10248,7 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -10268,7 +10268,7 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -10336,7 +10336,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10406,7 +10406,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10428,7 +10428,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -10498,7 +10498,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10571,7 +10571,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10596,7 +10596,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -10885,7 +10885,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -10902,7 +10902,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -10965,7 +10965,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -10982,7 +10982,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -11047,7 +11047,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -11067,7 +11067,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -11133,7 +11133,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -11153,7 +11153,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -11438,7 +11438,7 @@ static void lts_aga_fm2_n0_p2_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -11518,7 +11518,7 @@ static void lts_aga_fm2_n0_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -11543,7 +11543,7 @@ static void lts_aga_fm2_n0_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -11616,7 +11616,7 @@ static void lts_aga_fm2_n1_p2_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -11699,7 +11699,7 @@ static void lts_aga_fm2_n1_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -11727,7 +11727,7 @@ static void lts_aga_fm2_n1_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -11803,7 +11803,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -11888,7 +11888,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -11918,7 +11918,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -11996,7 +11996,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -12084,7 +12084,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -12117,7 +12117,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -13042,7 +13042,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -13122,7 +13122,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -13147,7 +13147,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -13220,7 +13220,7 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -13303,7 +13303,7 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -13331,7 +13331,7 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -13407,7 +13407,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -13492,7 +13492,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -13522,7 +13522,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -13600,7 +13600,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -13688,7 +13688,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -13721,7 +13721,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -14646,7 +14646,7 @@ static void lts_aga_fm2_n0_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -14726,7 +14726,7 @@ static void lts_aga_fm2_n0_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -14751,7 +14751,7 @@ static void lts_aga_fm2_n0_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -14824,7 +14824,7 @@ static void lts_aga_fm2_n1_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -14907,7 +14907,7 @@ static void lts_aga_fm2_n1_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -14935,7 +14935,7 @@ static void lts_aga_fm2_n1_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -15011,7 +15011,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -15096,7 +15096,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -15126,7 +15126,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -15204,7 +15204,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -15292,7 +15292,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -15325,7 +15325,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -15406,7 +15406,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -15492,7 +15492,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -15523,7 +15523,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -15602,7 +15602,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -15691,7 +15691,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -15725,7 +15725,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -15807,7 +15807,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -15832,7 +15832,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -15902,7 +15902,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -15927,7 +15927,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -16000,7 +16000,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -16028,7 +16028,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -16101,7 +16101,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -16129,7 +16129,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -16205,7 +16205,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -16286,7 +16286,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -16312,7 +16312,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -16386,7 +16386,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -16470,7 +16470,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -16499,7 +16499,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -16576,7 +16576,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -16656,7 +16656,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -16681,7 +16681,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -16754,7 +16754,7 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -16837,7 +16837,7 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -16865,7 +16865,7 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -16941,7 +16941,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -17026,7 +17026,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -17056,7 +17056,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -17134,7 +17134,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -17222,7 +17222,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -17255,7 +17255,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -17614,7 +17614,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -17639,7 +17639,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -17709,7 +17709,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -17734,7 +17734,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -17807,7 +17807,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -17835,7 +17835,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -17908,7 +17908,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -17936,7 +17936,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -18929,7 +18929,7 @@ static void lts_aga_fm2_n0_p2_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -18953,7 +18953,7 @@ static void lts_aga_fm2_n0_p2_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -19036,7 +19036,7 @@ static void lts_aga_fm2_n1_p2_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -19071,7 +19071,7 @@ static void lts_aga_fm2_n1_p2_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -19165,7 +19165,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -19194,7 +19194,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -19282,7 +19282,7 @@ static void lts_aga_fm2_dpf1_p2_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -19322,7 +19322,7 @@ static void lts_aga_fm2_dpf1_p2_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -19841,7 +19841,7 @@ static void lts_aga_fm2_n0_p4_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -19865,7 +19865,7 @@ static void lts_aga_fm2_n0_p4_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -19948,7 +19948,7 @@ static void lts_aga_fm2_n1_p4_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -19983,7 +19983,7 @@ static void lts_aga_fm2_n1_p4_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -20077,7 +20077,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -20106,7 +20106,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -20194,7 +20194,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -20234,7 +20234,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -20753,7 +20753,7 @@ static void lts_aga_fm2_n0_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -20777,7 +20777,7 @@ static void lts_aga_fm2_n0_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -20860,7 +20860,7 @@ static void lts_aga_fm2_n1_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -20895,7 +20895,7 @@ static void lts_aga_fm2_n1_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -20989,7 +20989,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -21018,7 +21018,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -21106,7 +21106,7 @@ static void lts_aga_fm2_dpf1_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -21146,7 +21146,7 @@ static void lts_aga_fm2_dpf1_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -21245,7 +21245,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -21275,7 +21275,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -21364,7 +21364,7 @@ static void lts_aga_fm2_ehb1_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -21405,7 +21405,7 @@ static void lts_aga_fm2_ehb1_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -21505,7 +21505,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -21529,7 +21529,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -21612,7 +21612,7 @@ static void lts_aga_fm2_ham1_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -21647,7 +21647,7 @@ static void lts_aga_fm2_ham1_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -21741,7 +21741,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -21766,7 +21766,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -21850,7 +21850,7 @@ static void lts_aga_fm2_kehb1_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -21886,7 +21886,7 @@ static void lts_aga_fm2_kehb1_p6_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -21981,7 +21981,7 @@ static void lts_aga_fm2_n0_p8_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -22005,7 +22005,7 @@ static void lts_aga_fm2_n0_p8_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -22088,7 +22088,7 @@ static void lts_aga_fm2_n1_p8_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -22123,7 +22123,7 @@ static void lts_aga_fm2_n1_p8_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -22217,7 +22217,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -22246,7 +22246,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -22334,7 +22334,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -22374,7 +22374,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -22613,7 +22613,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -22637,7 +22637,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -22720,7 +22720,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -22755,7 +22755,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -22990,7 +22990,7 @@ static void lts_aga_fm2_n0_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -23023,7 +23023,7 @@ static void lts_aga_fm2_n0_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -23127,7 +23127,7 @@ static void lts_aga_fm2_n1_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -23171,7 +23171,7 @@ static void lts_aga_fm2_n1_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -23286,7 +23286,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -23324,7 +23324,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -23433,7 +23433,7 @@ static void lts_aga_fm2_dpf1_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -23482,7 +23482,7 @@ static void lts_aga_fm2_dpf1_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -24202,7 +24202,7 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -24235,7 +24235,7 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -24339,7 +24339,7 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -24383,7 +24383,7 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -24498,7 +24498,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -24536,7 +24536,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -24645,7 +24645,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -24694,7 +24694,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -25414,7 +25414,7 @@ static void lts_aga_fm2_n0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -25447,7 +25447,7 @@ static void lts_aga_fm2_n0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -25551,7 +25551,7 @@ static void lts_aga_fm2_n1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -25595,7 +25595,7 @@ static void lts_aga_fm2_n1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -25710,7 +25710,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -25748,7 +25748,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -25857,7 +25857,7 @@ static void lts_aga_fm2_dpf1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -25906,7 +25906,7 @@ static void lts_aga_fm2_dpf1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -26026,7 +26026,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -26065,7 +26065,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -26175,7 +26175,7 @@ static void lts_aga_fm2_ehb1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -26225,7 +26225,7 @@ static void lts_aga_fm2_ehb1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -26346,7 +26346,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -26379,7 +26379,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -26483,7 +26483,7 @@ static void lts_aga_fm2_ham1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -26527,7 +26527,7 @@ static void lts_aga_fm2_ham1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -26642,7 +26642,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -26676,7 +26676,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -26781,7 +26781,7 @@ static void lts_aga_fm2_kehb1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -26826,7 +26826,7 @@ static void lts_aga_fm2_kehb1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -26942,7 +26942,7 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -26975,7 +26975,7 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -27079,7 +27079,7 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -27123,7 +27123,7 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -27238,7 +27238,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -27276,7 +27276,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -27385,7 +27385,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -27434,7 +27434,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -27754,7 +27754,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -27787,7 +27787,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -27891,7 +27891,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -27935,7 +27935,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -28249,7 +28249,7 @@ static void lts_aga_fm2_n0_p2_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -28267,7 +28267,7 @@ static void lts_aga_fm2_n0_p2_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -28344,7 +28344,7 @@ static void lts_aga_fm2_n1_p2_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -28365,7 +28365,7 @@ static void lts_aga_fm2_n1_p2_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -28445,7 +28445,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -28468,7 +28468,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -28550,7 +28550,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -28576,7 +28576,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -29081,7 +29081,7 @@ static void lts_aga_fm2_n0_p4_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -29099,7 +29099,7 @@ static void lts_aga_fm2_n0_p4_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -29176,7 +29176,7 @@ static void lts_aga_fm2_n1_p4_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -29197,7 +29197,7 @@ static void lts_aga_fm2_n1_p4_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -29277,7 +29277,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -29300,7 +29300,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -29382,7 +29382,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -29408,7 +29408,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -29913,7 +29913,7 @@ static void lts_aga_fm2_n0_p6_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -29931,7 +29931,7 @@ static void lts_aga_fm2_n0_p6_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -30008,7 +30008,7 @@ static void lts_aga_fm2_n1_p6_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -30029,7 +30029,7 @@ static void lts_aga_fm2_n1_p6_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -30109,7 +30109,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -30132,7 +30132,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -30214,7 +30214,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -30240,7 +30240,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -30325,7 +30325,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -30349,7 +30349,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -30432,7 +30432,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -30459,7 +30459,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -30545,7 +30545,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -30563,7 +30563,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -30640,7 +30640,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -30661,7 +30661,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -30741,7 +30741,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -30760,7 +30760,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -30838,7 +30838,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -30860,7 +30860,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -30941,7 +30941,7 @@ static void lts_aga_fm2_n0_p8_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -30959,7 +30959,7 @@ static void lts_aga_fm2_n0_p8_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -31036,7 +31036,7 @@ static void lts_aga_fm2_n1_p8_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -31057,7 +31057,7 @@ static void lts_aga_fm2_n1_p8_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -31137,7 +31137,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -31160,7 +31160,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -31242,7 +31242,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -31268,7 +31268,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -31493,7 +31493,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -31511,7 +31511,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -31588,7 +31588,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -31609,7 +31609,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -31830,7 +31830,7 @@ static void lts_aga_fm2_n0_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -31857,7 +31857,7 @@ static void lts_aga_fm2_n0_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -31955,7 +31955,7 @@ static void lts_aga_fm2_n1_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -31985,7 +31985,7 @@ static void lts_aga_fm2_n1_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -32086,7 +32086,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -32118,7 +32118,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -32221,7 +32221,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -32256,7 +32256,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -32962,7 +32962,7 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -32989,7 +32989,7 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -33087,7 +33087,7 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -33117,7 +33117,7 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -33218,7 +33218,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -33250,7 +33250,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -33353,7 +33353,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -33388,7 +33388,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -34094,7 +34094,7 @@ static void lts_aga_fm2_n0_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -34121,7 +34121,7 @@ static void lts_aga_fm2_n0_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -34219,7 +34219,7 @@ static void lts_aga_fm2_n1_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -34249,7 +34249,7 @@ static void lts_aga_fm2_n1_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -34350,7 +34350,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -34382,7 +34382,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -34485,7 +34485,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -34520,7 +34520,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -34626,7 +34626,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -34659,7 +34659,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -34763,7 +34763,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -34799,7 +34799,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -34906,7 +34906,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -34933,7 +34933,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -35031,7 +35031,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -35061,7 +35061,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -35162,7 +35162,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -35190,7 +35190,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -35289,7 +35289,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -35320,7 +35320,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -35422,7 +35422,7 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -35449,7 +35449,7 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -35547,7 +35547,7 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -35577,7 +35577,7 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -35678,7 +35678,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -35710,7 +35710,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -35813,7 +35813,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -35848,7 +35848,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -36154,7 +36154,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -36181,7 +36181,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -36279,7 +36279,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -36309,7 +36309,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -36609,7 +36609,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -36628,7 +36628,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -36702,7 +36702,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -36719,7 +36719,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -36737,7 +36737,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -36754,7 +36754,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -36829,7 +36829,7 @@ static void lts_aga_fm2_n1_p2_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -36851,7 +36851,7 @@ static void lts_aga_fm2_n1_p2_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -36928,7 +36928,7 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -36948,7 +36948,7 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -36969,7 +36969,7 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -36989,7 +36989,7 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -37067,7 +37067,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -37091,7 +37091,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -37170,7 +37170,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -37192,7 +37192,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -37215,7 +37215,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -37237,7 +37237,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -37317,7 +37317,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -37344,7 +37344,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -37426,7 +37426,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -37451,7 +37451,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -37477,7 +37477,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -37502,7 +37502,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -38469,7 +38469,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -38488,7 +38488,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -38562,7 +38562,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -38579,7 +38579,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -38597,7 +38597,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -38614,7 +38614,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -38689,7 +38689,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -38711,7 +38711,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -38788,7 +38788,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -38808,7 +38808,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -38829,7 +38829,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -38849,7 +38849,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -38927,7 +38927,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -38951,7 +38951,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -39030,7 +39030,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -39052,7 +39052,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -39075,7 +39075,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -39097,7 +39097,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -39177,7 +39177,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -39204,7 +39204,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -39286,7 +39286,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -39311,7 +39311,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -39337,7 +39337,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -39362,7 +39362,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -40329,7 +40329,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -40348,7 +40348,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -40422,7 +40422,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -40439,7 +40439,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -40457,7 +40457,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -40474,7 +40474,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -40549,7 +40549,7 @@ static void lts_aga_fm2_n1_p6_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -40571,7 +40571,7 @@ static void lts_aga_fm2_n1_p6_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -40648,7 +40648,7 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -40668,7 +40668,7 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -40689,7 +40689,7 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -40709,7 +40709,7 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -40787,7 +40787,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -40811,7 +40811,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -40890,7 +40890,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -40912,7 +40912,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -40935,7 +40935,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -40957,7 +40957,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -41037,7 +41037,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -41064,7 +41064,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -41146,7 +41146,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -41171,7 +41171,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -41197,7 +41197,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -41222,7 +41222,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -41305,7 +41305,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -41330,7 +41330,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -41410,7 +41410,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -41433,7 +41433,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -41457,7 +41457,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -41480,7 +41480,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -41561,7 +41561,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -41589,7 +41589,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -41672,7 +41672,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -41698,7 +41698,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -41725,7 +41725,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -41751,7 +41751,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -41835,7 +41835,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -41852,7 +41852,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -41869,7 +41869,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -41886,7 +41886,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        decode_ham_pixel_aga(pix3);
                                }
@@ -41958,7 +41958,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -41975,7 +41975,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -41993,7 +41993,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -42010,7 +42010,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -42085,7 +42085,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -42105,7 +42105,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -42125,7 +42125,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -42145,7 +42145,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        decode_ham_pixel_aga(pix3);
                                }
@@ -42220,7 +42220,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -42240,7 +42240,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -42261,7 +42261,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -42281,7 +42281,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -42359,7 +42359,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -42379,7 +42379,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -42454,7 +42454,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -42472,7 +42472,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -42491,7 +42491,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -42509,7 +42509,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -42585,7 +42585,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -42608,7 +42608,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -42686,7 +42686,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -42707,7 +42707,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -42729,7 +42729,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -42750,7 +42750,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -42829,7 +42829,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -42848,7 +42848,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -42922,7 +42922,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -42939,7 +42939,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -42957,7 +42957,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -42974,7 +42974,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -43049,7 +43049,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -43071,7 +43071,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -43148,7 +43148,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -43168,7 +43168,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -43189,7 +43189,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -43209,7 +43209,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -43287,7 +43287,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -43311,7 +43311,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -43390,7 +43390,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -43412,7 +43412,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -43435,7 +43435,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -43457,7 +43457,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -43537,7 +43537,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -43564,7 +43564,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -43646,7 +43646,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -43671,7 +43671,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -43697,7 +43697,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -43722,7 +43722,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -44093,7 +44093,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -44110,7 +44110,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -44127,7 +44127,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -44144,7 +44144,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        decode_ham_pixel_aga(pix3);
                                }
@@ -44216,7 +44216,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -44233,7 +44233,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -44251,7 +44251,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -44268,7 +44268,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -44343,7 +44343,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -44363,7 +44363,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -44383,7 +44383,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -44403,7 +44403,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        decode_ham_pixel_aga(pix3);
                                }
@@ -44478,7 +44478,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -44498,7 +44498,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -44519,7 +44519,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -44539,7 +44539,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -44906,7 +44906,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -44934,7 +44934,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -45029,7 +45029,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -45054,7 +45054,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -45073,7 +45073,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -45098,7 +45098,7 @@ static void lts_aga_fm2_n0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -45188,7 +45188,7 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -45219,7 +45219,7 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -45317,7 +45317,7 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -45345,7 +45345,7 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -45367,7 +45367,7 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -45395,7 +45395,7 @@ static void lts_aga_fm2_n1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -45488,7 +45488,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -45521,7 +45521,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -45621,7 +45621,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -45651,7 +45651,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -45675,7 +45675,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -45705,7 +45705,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -45800,7 +45800,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -45836,7 +45836,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -45939,7 +45939,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -45972,7 +45972,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -45999,7 +45999,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -46032,7 +46032,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -47386,7 +47386,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -47414,7 +47414,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -47509,7 +47509,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -47534,7 +47534,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -47553,7 +47553,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -47578,7 +47578,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -47668,7 +47668,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -47699,7 +47699,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -47797,7 +47797,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -47825,7 +47825,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -47847,7 +47847,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -47875,7 +47875,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -47968,7 +47968,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -48001,7 +48001,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -48101,7 +48101,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -48131,7 +48131,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -48155,7 +48155,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -48185,7 +48185,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -48280,7 +48280,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -48316,7 +48316,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -48419,7 +48419,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -48452,7 +48452,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -48479,7 +48479,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -48512,7 +48512,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -49866,7 +49866,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -49894,7 +49894,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -49989,7 +49989,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -50014,7 +50014,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -50033,7 +50033,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -50058,7 +50058,7 @@ static void lts_aga_fm2_n0_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -50148,7 +50148,7 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -50179,7 +50179,7 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -50277,7 +50277,7 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -50305,7 +50305,7 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -50327,7 +50327,7 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -50355,7 +50355,7 @@ static void lts_aga_fm2_n1_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -50448,7 +50448,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -50481,7 +50481,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -50581,7 +50581,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -50611,7 +50611,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -50635,7 +50635,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -50665,7 +50665,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -50760,7 +50760,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -50796,7 +50796,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -50899,7 +50899,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -50932,7 +50932,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -50959,7 +50959,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -50992,7 +50992,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -51090,7 +51090,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -51124,7 +51124,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -51225,7 +51225,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -51256,7 +51256,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -51281,7 +51281,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -51312,7 +51312,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -51408,7 +51408,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -51445,7 +51445,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -51549,7 +51549,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -51583,7 +51583,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -51611,7 +51611,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -51645,7 +51645,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -51744,7 +51744,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -51769,7 +51769,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -51787,7 +51787,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -51812,7 +51812,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        decode_ham_pixel_aga(pix3);
                                }
@@ -51897,7 +51897,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -51922,7 +51922,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -51941,7 +51941,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -51966,7 +51966,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -52056,7 +52056,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -52084,7 +52084,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -52105,7 +52105,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -52133,7 +52133,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        decode_ham_pixel_aga(pix3);
                                }
@@ -52221,7 +52221,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -52249,7 +52249,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -52271,7 +52271,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -52299,7 +52299,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -52392,7 +52392,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -52421,7 +52421,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -52517,7 +52517,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -52543,7 +52543,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -52563,7 +52563,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -52589,7 +52589,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -52680,7 +52680,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -52712,7 +52712,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -52811,7 +52811,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -52840,7 +52840,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -52863,7 +52863,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -52892,7 +52892,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -52986,7 +52986,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -53014,7 +53014,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -53109,7 +53109,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -53134,7 +53134,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -53153,7 +53153,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -53178,7 +53178,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -53268,7 +53268,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -53299,7 +53299,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -53397,7 +53397,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -53425,7 +53425,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -53447,7 +53447,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -53475,7 +53475,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -53568,7 +53568,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -53601,7 +53601,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -53701,7 +53701,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -53731,7 +53731,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -53755,7 +53755,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -53785,7 +53785,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -53880,7 +53880,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -53916,7 +53916,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -54019,7 +54019,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -54052,7 +54052,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -54079,7 +54079,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -54112,7 +54112,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -54622,7 +54622,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -54647,7 +54647,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -54665,7 +54665,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -54690,7 +54690,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        decode_ham_pixel_aga(pix3);
                                }
@@ -54775,7 +54775,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -54800,7 +54800,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -54819,7 +54819,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -54844,7 +54844,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -54934,7 +54934,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -54962,7 +54962,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -54983,7 +54983,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -55011,7 +55011,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        decode_ham_pixel_aga(pix3);
                                }
@@ -55099,7 +55099,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -55127,7 +55127,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -55149,7 +55149,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -55177,7 +55177,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -55681,7 +55681,7 @@ static void lts_aga_fm2_n0_p2_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -55705,7 +55705,7 @@ static void lts_aga_fm2_n0_p2_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -55729,7 +55729,7 @@ static void lts_aga_fm2_n0_p2_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -55753,7 +55753,7 @@ static void lts_aga_fm2_n0_p2_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -55854,7 +55854,7 @@ static void lts_aga_fm2_n1_p2_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -55889,7 +55889,7 @@ static void lts_aga_fm2_n1_p2_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -55924,7 +55924,7 @@ static void lts_aga_fm2_n1_p2_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -55959,7 +55959,7 @@ static void lts_aga_fm2_n1_p2_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -56071,7 +56071,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -56100,7 +56100,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -56129,7 +56129,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -56158,7 +56158,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -56264,7 +56264,7 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -56304,7 +56304,7 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -56344,7 +56344,7 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -56384,7 +56384,7 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -57101,7 +57101,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -57125,7 +57125,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -57149,7 +57149,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -57173,7 +57173,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -57274,7 +57274,7 @@ static void lts_aga_fm2_n1_p4_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -57309,7 +57309,7 @@ static void lts_aga_fm2_n1_p4_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -57344,7 +57344,7 @@ static void lts_aga_fm2_n1_p4_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -57379,7 +57379,7 @@ static void lts_aga_fm2_n1_p4_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -57491,7 +57491,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -57520,7 +57520,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -57549,7 +57549,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -57578,7 +57578,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -57684,7 +57684,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -57724,7 +57724,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -57764,7 +57764,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -57804,7 +57804,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -58521,7 +58521,7 @@ static void lts_aga_fm2_n0_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -58545,7 +58545,7 @@ static void lts_aga_fm2_n0_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -58569,7 +58569,7 @@ static void lts_aga_fm2_n0_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -58593,7 +58593,7 @@ static void lts_aga_fm2_n0_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -58694,7 +58694,7 @@ static void lts_aga_fm2_n1_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -58729,7 +58729,7 @@ static void lts_aga_fm2_n1_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -58764,7 +58764,7 @@ static void lts_aga_fm2_n1_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -58799,7 +58799,7 @@ static void lts_aga_fm2_n1_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -58911,7 +58911,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -58940,7 +58940,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -58969,7 +58969,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -58998,7 +58998,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -59104,7 +59104,7 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -59144,7 +59144,7 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -59184,7 +59184,7 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -59224,7 +59224,7 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -59341,7 +59341,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -59371,7 +59371,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -59401,7 +59401,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -59431,7 +59431,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -59538,7 +59538,7 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -59579,7 +59579,7 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -59620,7 +59620,7 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -59661,7 +59661,7 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -59779,7 +59779,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -59803,7 +59803,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -59827,7 +59827,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -59851,7 +59851,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -59952,7 +59952,7 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -59987,7 +59987,7 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -60022,7 +60022,7 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -60057,7 +60057,7 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -60169,7 +60169,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -60194,7 +60194,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -60219,7 +60219,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -60244,7 +60244,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -60346,7 +60346,7 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -60382,7 +60382,7 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -60418,7 +60418,7 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -60454,7 +60454,7 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -60567,7 +60567,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -60591,7 +60591,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -60615,7 +60615,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -60639,7 +60639,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -60740,7 +60740,7 @@ static void lts_aga_fm2_n1_p8_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -60775,7 +60775,7 @@ static void lts_aga_fm2_n1_p8_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -60810,7 +60810,7 @@ static void lts_aga_fm2_n1_p8_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -60845,7 +60845,7 @@ static void lts_aga_fm2_n1_p8_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -60957,7 +60957,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -60986,7 +60986,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -61015,7 +61015,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -61044,7 +61044,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -61150,7 +61150,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -61190,7 +61190,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -61230,7 +61230,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -61270,7 +61270,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -61587,7 +61587,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -61611,7 +61611,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -61635,7 +61635,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -61659,7 +61659,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -61760,7 +61760,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -61795,7 +61795,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -61830,7 +61830,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -61865,7 +61865,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -62178,7 +62178,7 @@ static void lts_aga_fm2_n0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -62211,7 +62211,7 @@ static void lts_aga_fm2_n0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -62244,7 +62244,7 @@ static void lts_aga_fm2_n0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -62277,7 +62277,7 @@ static void lts_aga_fm2_n0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -62411,7 +62411,7 @@ static void lts_aga_fm2_n1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -62455,7 +62455,7 @@ static void lts_aga_fm2_n1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -62499,7 +62499,7 @@ static void lts_aga_fm2_n1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -62543,7 +62543,7 @@ static void lts_aga_fm2_n1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -62688,7 +62688,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -62726,7 +62726,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -62764,7 +62764,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -62802,7 +62802,7 @@ static void lts_aga_fm2_dpf0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -62941,7 +62941,7 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -62990,7 +62990,7 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -63039,7 +63039,7 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -63088,7 +63088,7 @@ static void lts_aga_fm2_dpf1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -64198,7 +64198,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -64231,7 +64231,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -64264,7 +64264,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -64297,7 +64297,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -64431,7 +64431,7 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -64475,7 +64475,7 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -64519,7 +64519,7 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -64563,7 +64563,7 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -64708,7 +64708,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -64746,7 +64746,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -64784,7 +64784,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -64822,7 +64822,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -64961,7 +64961,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -65010,7 +65010,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -65059,7 +65059,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -65108,7 +65108,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -66218,7 +66218,7 @@ static void lts_aga_fm2_n0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -66251,7 +66251,7 @@ static void lts_aga_fm2_n0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -66284,7 +66284,7 @@ static void lts_aga_fm2_n0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -66317,7 +66317,7 @@ static void lts_aga_fm2_n0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -66451,7 +66451,7 @@ static void lts_aga_fm2_n1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -66495,7 +66495,7 @@ static void lts_aga_fm2_n1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -66539,7 +66539,7 @@ static void lts_aga_fm2_n1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -66583,7 +66583,7 @@ static void lts_aga_fm2_n1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -66728,7 +66728,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -66766,7 +66766,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -66804,7 +66804,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -66842,7 +66842,7 @@ static void lts_aga_fm2_dpf0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -66981,7 +66981,7 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -67030,7 +67030,7 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -67079,7 +67079,7 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -67128,7 +67128,7 @@ static void lts_aga_fm2_dpf1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -67278,7 +67278,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -67317,7 +67317,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -67356,7 +67356,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -67395,7 +67395,7 @@ static void lts_aga_fm2_ehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -67535,7 +67535,7 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -67585,7 +67585,7 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -67635,7 +67635,7 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -67685,7 +67685,7 @@ static void lts_aga_fm2_ehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -67836,7 +67836,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -67869,7 +67869,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -67902,7 +67902,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -67935,7 +67935,7 @@ static void lts_aga_fm2_ham0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -68069,7 +68069,7 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -68113,7 +68113,7 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -68157,7 +68157,7 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -68201,7 +68201,7 @@ static void lts_aga_fm2_ham1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -68346,7 +68346,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -68380,7 +68380,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -68414,7 +68414,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -68448,7 +68448,7 @@ static void lts_aga_fm2_kehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -68583,7 +68583,7 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -68628,7 +68628,7 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -68673,7 +68673,7 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -68718,7 +68718,7 @@ static void lts_aga_fm2_kehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -68864,7 +68864,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -68897,7 +68897,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -68930,7 +68930,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -68963,7 +68963,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -69097,7 +69097,7 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -69141,7 +69141,7 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -69185,7 +69185,7 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -69229,7 +69229,7 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -69374,7 +69374,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -69412,7 +69412,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -69450,7 +69450,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -69488,7 +69488,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -69627,7 +69627,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -69676,7 +69676,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -69725,7 +69725,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -69774,7 +69774,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -70244,7 +70244,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -70277,7 +70277,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -70310,7 +70310,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -70343,7 +70343,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -70477,7 +70477,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -70521,7 +70521,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -70565,7 +70565,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -70609,7 +70609,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -71073,7 +71073,7 @@ static void lts_aga_fm2_n0_p2_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -71097,7 +71097,7 @@ static void lts_aga_fm2_n0_p2_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -71121,7 +71121,7 @@ static void lts_aga_fm2_n0_p2_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -71145,7 +71145,7 @@ static void lts_aga_fm2_n0_p2_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -71246,7 +71246,7 @@ static void lts_aga_fm2_n1_p2_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -71281,7 +71281,7 @@ static void lts_aga_fm2_n1_p2_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -71316,7 +71316,7 @@ static void lts_aga_fm2_n1_p2_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -71351,7 +71351,7 @@ static void lts_aga_fm2_n1_p2_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -71463,7 +71463,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -71492,7 +71492,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -71521,7 +71521,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -71550,7 +71550,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -71656,7 +71656,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -71696,7 +71696,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -71736,7 +71736,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -71776,7 +71776,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -72493,7 +72493,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -72517,7 +72517,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -72541,7 +72541,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -72565,7 +72565,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -72666,7 +72666,7 @@ static void lts_aga_fm2_n1_p4_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -72701,7 +72701,7 @@ static void lts_aga_fm2_n1_p4_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -72736,7 +72736,7 @@ static void lts_aga_fm2_n1_p4_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -72771,7 +72771,7 @@ static void lts_aga_fm2_n1_p4_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -72883,7 +72883,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -72912,7 +72912,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -72941,7 +72941,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -72970,7 +72970,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -73076,7 +73076,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -73116,7 +73116,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -73156,7 +73156,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -73196,7 +73196,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -73913,7 +73913,7 @@ static void lts_aga_fm2_n0_p6_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -73937,7 +73937,7 @@ static void lts_aga_fm2_n0_p6_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -73961,7 +73961,7 @@ static void lts_aga_fm2_n0_p6_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -73985,7 +73985,7 @@ static void lts_aga_fm2_n0_p6_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -74086,7 +74086,7 @@ static void lts_aga_fm2_n1_p6_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -74121,7 +74121,7 @@ static void lts_aga_fm2_n1_p6_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -74156,7 +74156,7 @@ static void lts_aga_fm2_n1_p6_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -74191,7 +74191,7 @@ static void lts_aga_fm2_n1_p6_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -74303,7 +74303,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -74332,7 +74332,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -74361,7 +74361,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -74390,7 +74390,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -74496,7 +74496,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -74536,7 +74536,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -74576,7 +74576,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -74616,7 +74616,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -74733,7 +74733,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -74763,7 +74763,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -74793,7 +74793,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -74823,7 +74823,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -74930,7 +74930,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -74971,7 +74971,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -75012,7 +75012,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -75053,7 +75053,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -75171,7 +75171,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -75195,7 +75195,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -75219,7 +75219,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -75243,7 +75243,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -75344,7 +75344,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -75379,7 +75379,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -75414,7 +75414,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -75449,7 +75449,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -75561,7 +75561,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -75586,7 +75586,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -75611,7 +75611,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -75636,7 +75636,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -75738,7 +75738,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -75774,7 +75774,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -75810,7 +75810,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -75846,7 +75846,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -75959,7 +75959,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -75983,7 +75983,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -76007,7 +76007,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -76031,7 +76031,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -76132,7 +76132,7 @@ static void lts_aga_fm2_n1_p8_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -76167,7 +76167,7 @@ static void lts_aga_fm2_n1_p8_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -76202,7 +76202,7 @@ static void lts_aga_fm2_n1_p8_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -76237,7 +76237,7 @@ static void lts_aga_fm2_n1_p8_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -76349,7 +76349,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -76378,7 +76378,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -76407,7 +76407,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -76436,7 +76436,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -76542,7 +76542,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -76582,7 +76582,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -76622,7 +76622,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -76662,7 +76662,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -76979,7 +76979,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -77003,7 +77003,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -77027,7 +77027,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -77051,7 +77051,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -77152,7 +77152,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -77187,7 +77187,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -77222,7 +77222,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -77257,7 +77257,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -77570,7 +77570,7 @@ static void lts_aga_fm2_n0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -77603,7 +77603,7 @@ static void lts_aga_fm2_n0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -77636,7 +77636,7 @@ static void lts_aga_fm2_n0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -77669,7 +77669,7 @@ static void lts_aga_fm2_n0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -77803,7 +77803,7 @@ static void lts_aga_fm2_n1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -77847,7 +77847,7 @@ static void lts_aga_fm2_n1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -77891,7 +77891,7 @@ static void lts_aga_fm2_n1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -77935,7 +77935,7 @@ static void lts_aga_fm2_n1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -78080,7 +78080,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -78118,7 +78118,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -78156,7 +78156,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -78194,7 +78194,7 @@ static void lts_aga_fm2_dpf0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -78333,7 +78333,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -78382,7 +78382,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -78431,7 +78431,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -78480,7 +78480,7 @@ static void lts_aga_fm2_dpf1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -79590,7 +79590,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -79623,7 +79623,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -79656,7 +79656,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -79689,7 +79689,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -79823,7 +79823,7 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -79867,7 +79867,7 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -79911,7 +79911,7 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -79955,7 +79955,7 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -80100,7 +80100,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -80138,7 +80138,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -80176,7 +80176,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -80214,7 +80214,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -80353,7 +80353,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -80402,7 +80402,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -80451,7 +80451,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -80500,7 +80500,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -81610,7 +81610,7 @@ static void lts_aga_fm2_n0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -81643,7 +81643,7 @@ static void lts_aga_fm2_n0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -81676,7 +81676,7 @@ static void lts_aga_fm2_n0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -81709,7 +81709,7 @@ static void lts_aga_fm2_n0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -81843,7 +81843,7 @@ static void lts_aga_fm2_n1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -81887,7 +81887,7 @@ static void lts_aga_fm2_n1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -81931,7 +81931,7 @@ static void lts_aga_fm2_n1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -81975,7 +81975,7 @@ static void lts_aga_fm2_n1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -82120,7 +82120,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -82158,7 +82158,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -82196,7 +82196,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -82234,7 +82234,7 @@ static void lts_aga_fm2_dpf0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -82373,7 +82373,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -82422,7 +82422,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -82471,7 +82471,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -82520,7 +82520,7 @@ static void lts_aga_fm2_dpf1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -82670,7 +82670,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -82709,7 +82709,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -82748,7 +82748,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -82787,7 +82787,7 @@ static void lts_aga_fm2_ehb0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -82927,7 +82927,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -82977,7 +82977,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -83027,7 +83027,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -83077,7 +83077,7 @@ static void lts_aga_fm2_ehb1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -83228,7 +83228,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -83261,7 +83261,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -83294,7 +83294,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -83327,7 +83327,7 @@ static void lts_aga_fm2_ham0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -83461,7 +83461,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -83505,7 +83505,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -83549,7 +83549,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -83593,7 +83593,7 @@ static void lts_aga_fm2_ham1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -83738,7 +83738,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -83772,7 +83772,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -83806,7 +83806,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -83840,7 +83840,7 @@ static void lts_aga_fm2_kehb0_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -83975,7 +83975,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -84020,7 +84020,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -84065,7 +84065,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -84110,7 +84110,7 @@ static void lts_aga_fm2_kehb1_p6_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -84256,7 +84256,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -84289,7 +84289,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -84322,7 +84322,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -84355,7 +84355,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -84489,7 +84489,7 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -84533,7 +84533,7 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -84577,7 +84577,7 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -84621,7 +84621,7 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -84766,7 +84766,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -84804,7 +84804,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -84842,7 +84842,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -84880,7 +84880,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -85019,7 +85019,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -85068,7 +85068,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -85117,7 +85117,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -85166,7 +85166,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -85636,7 +85636,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -85669,7 +85669,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -85702,7 +85702,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -85735,7 +85735,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -85869,7 +85869,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -85913,7 +85913,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -85957,7 +85957,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -86001,7 +86001,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -86465,7 +86465,7 @@ static void lts_aga_fm2_n0_p2_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -86483,7 +86483,7 @@ static void lts_aga_fm2_n0_p2_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -86501,7 +86501,7 @@ static void lts_aga_fm2_n0_p2_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -86519,7 +86519,7 @@ static void lts_aga_fm2_n0_p2_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -86614,7 +86614,7 @@ static void lts_aga_fm2_n1_p2_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -86635,7 +86635,7 @@ static void lts_aga_fm2_n1_p2_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -86656,7 +86656,7 @@ static void lts_aga_fm2_n1_p2_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -86677,7 +86677,7 @@ static void lts_aga_fm2_n1_p2_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -86775,7 +86775,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -86798,7 +86798,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -86821,7 +86821,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -86844,7 +86844,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -86944,7 +86944,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -86970,7 +86970,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -86996,7 +86996,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -87022,7 +87022,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -87725,7 +87725,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -87743,7 +87743,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -87761,7 +87761,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -87779,7 +87779,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -87874,7 +87874,7 @@ static void lts_aga_fm2_n1_p4_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -87895,7 +87895,7 @@ static void lts_aga_fm2_n1_p4_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -87916,7 +87916,7 @@ static void lts_aga_fm2_n1_p4_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -87937,7 +87937,7 @@ static void lts_aga_fm2_n1_p4_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -88035,7 +88035,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -88058,7 +88058,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -88081,7 +88081,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -88104,7 +88104,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -88204,7 +88204,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -88230,7 +88230,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -88256,7 +88256,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -88282,7 +88282,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -88985,7 +88985,7 @@ static void lts_aga_fm2_n0_p6_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -89003,7 +89003,7 @@ static void lts_aga_fm2_n0_p6_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -89021,7 +89021,7 @@ static void lts_aga_fm2_n0_p6_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -89039,7 +89039,7 @@ static void lts_aga_fm2_n0_p6_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -89134,7 +89134,7 @@ static void lts_aga_fm2_n1_p6_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -89155,7 +89155,7 @@ static void lts_aga_fm2_n1_p6_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -89176,7 +89176,7 @@ static void lts_aga_fm2_n1_p6_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -89197,7 +89197,7 @@ static void lts_aga_fm2_n1_p6_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -89295,7 +89295,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -89318,7 +89318,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -89341,7 +89341,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -89364,7 +89364,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -89464,7 +89464,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -89490,7 +89490,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -89516,7 +89516,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -89542,7 +89542,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -89645,7 +89645,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -89669,7 +89669,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -89693,7 +89693,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -89717,7 +89717,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -89818,7 +89818,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -89845,7 +89845,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -89872,7 +89872,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -89899,7 +89899,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -90003,7 +90003,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -90021,7 +90021,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -90039,7 +90039,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -90057,7 +90057,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -90152,7 +90152,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -90173,7 +90173,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -90194,7 +90194,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -90215,7 +90215,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -90313,7 +90313,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -90332,7 +90332,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -90351,7 +90351,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -90370,7 +90370,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -90466,7 +90466,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -90488,7 +90488,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -90510,7 +90510,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -90532,7 +90532,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -90631,7 +90631,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -90649,7 +90649,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -90667,7 +90667,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -90685,7 +90685,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -90780,7 +90780,7 @@ static void lts_aga_fm2_n1_p8_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -90801,7 +90801,7 @@ static void lts_aga_fm2_n1_p8_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -90822,7 +90822,7 @@ static void lts_aga_fm2_n1_p8_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -90843,7 +90843,7 @@ static void lts_aga_fm2_n1_p8_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -90941,7 +90941,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -90964,7 +90964,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -90987,7 +90987,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -91010,7 +91010,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -91110,7 +91110,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -91136,7 +91136,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -91162,7 +91162,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -91188,7 +91188,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -91491,7 +91491,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -91509,7 +91509,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -91527,7 +91527,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -91545,7 +91545,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -91640,7 +91640,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -91661,7 +91661,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -91682,7 +91682,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -91703,7 +91703,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -92002,7 +92002,7 @@ static void lts_aga_fm2_n0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -92029,7 +92029,7 @@ static void lts_aga_fm2_n0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -92056,7 +92056,7 @@ static void lts_aga_fm2_n0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -92083,7 +92083,7 @@ static void lts_aga_fm2_n0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -92211,7 +92211,7 @@ static void lts_aga_fm2_n1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -92241,7 +92241,7 @@ static void lts_aga_fm2_n1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -92271,7 +92271,7 @@ static void lts_aga_fm2_n1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -92301,7 +92301,7 @@ static void lts_aga_fm2_n1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -92432,7 +92432,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -92464,7 +92464,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -92496,7 +92496,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -92528,7 +92528,7 @@ static void lts_aga_fm2_dpf0_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -92661,7 +92661,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -92696,7 +92696,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -92731,7 +92731,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -92766,7 +92766,7 @@ static void lts_aga_fm2_dpf1_p2_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -93862,7 +93862,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -93889,7 +93889,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -93916,7 +93916,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -93943,7 +93943,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -94071,7 +94071,7 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -94101,7 +94101,7 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -94131,7 +94131,7 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -94161,7 +94161,7 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -94292,7 +94292,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -94324,7 +94324,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -94356,7 +94356,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -94388,7 +94388,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -94521,7 +94521,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -94556,7 +94556,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -94591,7 +94591,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -94626,7 +94626,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -95722,7 +95722,7 @@ static void lts_aga_fm2_n0_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -95749,7 +95749,7 @@ static void lts_aga_fm2_n0_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -95776,7 +95776,7 @@ static void lts_aga_fm2_n0_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -95803,7 +95803,7 @@ static void lts_aga_fm2_n0_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -95931,7 +95931,7 @@ static void lts_aga_fm2_n1_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -95961,7 +95961,7 @@ static void lts_aga_fm2_n1_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -95991,7 +95991,7 @@ static void lts_aga_fm2_n1_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -96021,7 +96021,7 @@ static void lts_aga_fm2_n1_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -96152,7 +96152,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -96184,7 +96184,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -96216,7 +96216,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -96248,7 +96248,7 @@ static void lts_aga_fm2_dpf0_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -96381,7 +96381,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -96416,7 +96416,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -96451,7 +96451,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -96486,7 +96486,7 @@ static void lts_aga_fm2_dpf1_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -96622,7 +96622,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -96655,7 +96655,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -96688,7 +96688,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -96721,7 +96721,7 @@ static void lts_aga_fm2_ehb0_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -96855,7 +96855,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -96891,7 +96891,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -96927,7 +96927,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -96963,7 +96963,7 @@ static void lts_aga_fm2_ehb1_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -97100,7 +97100,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -97127,7 +97127,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -97154,7 +97154,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -97181,7 +97181,7 @@ static void lts_aga_fm2_ham0_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -97309,7 +97309,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -97339,7 +97339,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -97369,7 +97369,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -97399,7 +97399,7 @@ static void lts_aga_fm2_ham1_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -97530,7 +97530,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -97558,7 +97558,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -97586,7 +97586,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -97614,7 +97614,7 @@ static void lts_aga_fm2_kehb0_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -97743,7 +97743,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        pix0 ^= bplcon4_denise_xor_val;
@@ -97774,7 +97774,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        pix1 ^= bplcon4_denise_xor_val;
@@ -97805,7 +97805,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        pix2 ^= bplcon4_denise_xor_val;
@@ -97836,7 +97836,7 @@ static void lts_aga_fm2_kehb1_p6_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        pix3 ^= bplcon4_denise_xor_val;
@@ -97968,7 +97968,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -97995,7 +97995,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -98022,7 +98022,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -98049,7 +98049,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -98177,7 +98177,7 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -98207,7 +98207,7 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -98237,7 +98237,7 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -98267,7 +98267,7 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -98398,7 +98398,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -98430,7 +98430,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -98462,7 +98462,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -98494,7 +98494,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -98627,7 +98627,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -98662,7 +98662,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -98697,7 +98697,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -98732,7 +98732,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -99188,7 +99188,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -99215,7 +99215,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -99242,7 +99242,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -99269,7 +99269,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -99397,7 +99397,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -99427,7 +99427,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -99457,7 +99457,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -99487,7 +99487,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
index 043d8c76edea72c952f413945d9c5b95d8676902..0f48de0d5a855262cd581a22b4b00ddbc6af6039 100644 (file)
@@ -23,7 +23,7 @@ static void lts_aga_fm2_n0_p4_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -96,7 +96,7 @@ static void lts_aga_fm2_n1_p4_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -172,7 +172,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -250,7 +250,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -685,7 +685,7 @@ static void lts_aga_fm2_n0_p8_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -758,7 +758,7 @@ static void lts_aga_fm2_n1_p8_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -834,7 +834,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -912,7 +912,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1111,7 +1111,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -1184,7 +1184,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -1379,7 +1379,7 @@ static void lts_aga_fm2_n0_p4_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -1469,7 +1469,7 @@ static void lts_aga_fm2_n1_p4_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -1562,7 +1562,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1657,7 +1657,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2211,7 +2211,7 @@ static void lts_aga_fm2_n0_p8_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -2301,7 +2301,7 @@ static void lts_aga_fm2_n1_p8_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -2394,7 +2394,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2489,7 +2489,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2739,7 +2739,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -2829,7 +2829,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -3073,7 +3073,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -3143,7 +3143,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -3163,7 +3163,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -3234,7 +3234,7 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -3307,7 +3307,7 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -3330,7 +3330,7 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -3404,7 +3404,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3479,7 +3479,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3504,7 +3504,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -3580,7 +3580,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3658,7 +3658,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3686,7 +3686,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -4491,7 +4491,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -4561,7 +4561,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -4581,7 +4581,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -4652,7 +4652,7 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -4725,7 +4725,7 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -4748,7 +4748,7 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -4822,7 +4822,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -4897,7 +4897,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -4922,7 +4922,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -4998,7 +4998,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -5076,7 +5076,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -5104,7 +5104,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -5421,7 +5421,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -5440,7 +5440,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_genlock(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -5507,7 +5507,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -5527,7 +5527,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -5598,7 +5598,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -5620,7 +5620,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_genlock(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -5690,7 +5690,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -5713,7 +5713,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -6026,7 +6026,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -6113,7 +6113,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -6141,7 +6141,7 @@ static void lts_aga_fm2_n0_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -6222,7 +6222,7 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -6312,7 +6312,7 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -6343,7 +6343,7 @@ static void lts_aga_fm2_n1_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -6427,7 +6427,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6519,7 +6519,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6552,7 +6552,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -6638,7 +6638,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6733,7 +6733,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6769,7 +6769,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -7794,7 +7794,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -7881,7 +7881,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -7909,7 +7909,7 @@ static void lts_aga_fm2_n0_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -7990,7 +7990,7 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -8080,7 +8080,7 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -8111,7 +8111,7 @@ static void lts_aga_fm2_n1_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -8195,7 +8195,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -8287,7 +8287,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -8320,7 +8320,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -8406,7 +8406,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -8501,7 +8501,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -8537,7 +8537,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -8934,7 +8934,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -8961,7 +8961,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_genlock(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -9037,7 +9037,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -9065,7 +9065,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -9146,7 +9146,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -9176,7 +9176,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_genlock(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -9255,7 +9255,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -9286,7 +9286,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -9997,7 +9997,7 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -10024,7 +10024,7 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -10114,7 +10114,7 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -10152,7 +10152,7 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -10253,7 +10253,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10285,7 +10285,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -10380,7 +10380,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10423,7 +10423,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -10997,7 +10997,7 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -11024,7 +11024,7 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -11114,7 +11114,7 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -11152,7 +11152,7 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -11253,7 +11253,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -11285,7 +11285,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -11380,7 +11380,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -11423,7 +11423,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -11685,7 +11685,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -11712,7 +11712,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -11802,7 +11802,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -11840,7 +11840,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -12098,7 +12098,7 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -12134,7 +12134,7 @@ static void lts_aga_fm2_n0_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -12249,7 +12249,7 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -12296,7 +12296,7 @@ static void lts_aga_fm2_n1_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -12422,7 +12422,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -12463,7 +12463,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -12583,7 +12583,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -12635,7 +12635,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -13438,7 +13438,7 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -13474,7 +13474,7 @@ static void lts_aga_fm2_n0_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -13589,7 +13589,7 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -13636,7 +13636,7 @@ static void lts_aga_fm2_n1_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -13762,7 +13762,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -13803,7 +13803,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -13923,7 +13923,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -13975,7 +13975,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -14330,7 +14330,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -14366,7 +14366,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -14481,7 +14481,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -14528,7 +14528,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -14877,7 +14877,7 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -14898,7 +14898,7 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -14982,7 +14982,7 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -15006,7 +15006,7 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -15093,7 +15093,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -15119,7 +15119,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -15208,7 +15208,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -15237,7 +15237,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -15797,7 +15797,7 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -15818,7 +15818,7 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -15902,7 +15902,7 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -15926,7 +15926,7 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -16013,7 +16013,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -16039,7 +16039,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -16128,7 +16128,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -16157,7 +16157,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -16405,7 +16405,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -16426,7 +16426,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -16510,7 +16510,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -16534,7 +16534,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -16778,7 +16778,7 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -16808,7 +16808,7 @@ static void lts_aga_fm2_n0_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -16917,7 +16917,7 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -16950,7 +16950,7 @@ static void lts_aga_fm2_n1_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -17062,7 +17062,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -17097,7 +17097,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -17211,7 +17211,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -17249,7 +17249,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -18038,7 +18038,7 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -18068,7 +18068,7 @@ static void lts_aga_fm2_n0_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -18177,7 +18177,7 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -18210,7 +18210,7 @@ static void lts_aga_fm2_n1_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -18322,7 +18322,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -18357,7 +18357,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -18471,7 +18471,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -18509,7 +18509,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -18850,7 +18850,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -18880,7 +18880,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -18989,7 +18989,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -19022,7 +19022,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -19357,7 +19357,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -19379,7 +19379,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -19460,7 +19460,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -19480,7 +19480,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -19501,7 +19501,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -19521,7 +19521,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -19605,7 +19605,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -19630,7 +19630,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -19714,7 +19714,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -19737,7 +19737,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -19761,7 +19761,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -19784,7 +19784,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -19871,7 +19871,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -19898,7 +19898,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -19984,7 +19984,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -20009,7 +20009,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -20035,7 +20035,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -20060,7 +20060,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -20149,7 +20149,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -20179,7 +20179,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -20268,7 +20268,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -20296,7 +20296,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -20325,7 +20325,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -20353,7 +20353,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -21465,7 +21465,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -21487,7 +21487,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -21568,7 +21568,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -21588,7 +21588,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -21609,7 +21609,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -21629,7 +21629,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -21713,7 +21713,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -21738,7 +21738,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -21822,7 +21822,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -21845,7 +21845,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -21869,7 +21869,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -21892,7 +21892,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -21979,7 +21979,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -22006,7 +22006,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -22092,7 +22092,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -22117,7 +22117,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -22143,7 +22143,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -22168,7 +22168,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -22257,7 +22257,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -22287,7 +22287,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -22376,7 +22376,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -22404,7 +22404,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -22433,7 +22433,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -22461,7 +22461,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -22885,7 +22885,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -22904,7 +22904,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_genlock(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -22923,7 +22923,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -22942,7 +22942,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_genlock(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        decode_ham_pixel_aga(pix3);
                                }
@@ -23020,7 +23020,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -23040,7 +23040,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -23061,7 +23061,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -23081,7 +23081,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -23165,7 +23165,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -23187,7 +23187,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_genlock(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -23209,7 +23209,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -23231,7 +23231,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_genlock(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        decode_ham_pixel_aga(pix3);
                                }
@@ -23312,7 +23312,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -23335,7 +23335,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -23359,7 +23359,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -23382,7 +23382,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -23802,7 +23802,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -23833,7 +23833,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -23939,7 +23939,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -23967,7 +23967,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -23989,7 +23989,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -24017,7 +24017,7 @@ static void lts_aga_fm2_n0_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -24120,7 +24120,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -24154,7 +24154,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -24263,7 +24263,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -24294,7 +24294,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -24319,7 +24319,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -24350,7 +24350,7 @@ static void lts_aga_fm2_n1_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -24456,7 +24456,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -24492,7 +24492,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -24603,7 +24603,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -24636,7 +24636,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -24663,7 +24663,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -24696,7 +24696,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -24804,7 +24804,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -24843,7 +24843,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -24957,7 +24957,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -24993,7 +24993,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -25023,7 +25023,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -25059,7 +25059,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -26610,7 +26610,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -26641,7 +26641,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -26747,7 +26747,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -26775,7 +26775,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -26797,7 +26797,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -26825,7 +26825,7 @@ static void lts_aga_fm2_n0_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -26928,7 +26928,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -26962,7 +26962,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -27071,7 +27071,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -27102,7 +27102,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -27127,7 +27127,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -27158,7 +27158,7 @@ static void lts_aga_fm2_n1_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -27264,7 +27264,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -27300,7 +27300,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -27411,7 +27411,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -27444,7 +27444,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -27471,7 +27471,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -27504,7 +27504,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -27612,7 +27612,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -27651,7 +27651,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -27765,7 +27765,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -27801,7 +27801,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -27831,7 +27831,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -27867,7 +27867,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -28450,7 +28450,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -28477,7 +28477,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_genlock(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -28497,7 +28497,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -28524,7 +28524,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_genlock(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        decode_ham_pixel_aga(pix3);
                                }
@@ -28619,7 +28619,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -28647,7 +28647,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -28669,7 +28669,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -28697,7 +28697,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -28800,7 +28800,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -28830,7 +28830,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_genlock(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        decode_ham_pixel_aga(pix1);
                                }
@@ -28853,7 +28853,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -28883,7 +28883,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_genlock(void)
                        uae_u32 dpix_val3 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        decode_ham_pixel_aga(pix3);
                                }
@@ -28981,7 +28981,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -29012,7 +29012,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -29037,7 +29037,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -29068,7 +29068,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dhires_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -29645,7 +29645,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -29672,7 +29672,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -29699,7 +29699,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -29726,7 +29726,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -29838,7 +29838,7 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -29876,7 +29876,7 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -29914,7 +29914,7 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -29952,7 +29952,7 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -30075,7 +30075,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -30107,7 +30107,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -30139,7 +30139,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -30171,7 +30171,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -30288,7 +30288,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -30331,7 +30331,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -30374,7 +30374,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -30417,7 +30417,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -31241,7 +31241,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -31268,7 +31268,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -31295,7 +31295,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -31322,7 +31322,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -31434,7 +31434,7 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -31472,7 +31472,7 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -31510,7 +31510,7 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -31548,7 +31548,7 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -31671,7 +31671,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -31703,7 +31703,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -31735,7 +31735,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -31767,7 +31767,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -31884,7 +31884,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -31927,7 +31927,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -31970,7 +31970,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -32013,7 +32013,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -32373,7 +32373,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -32400,7 +32400,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -32427,7 +32427,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -32454,7 +32454,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -32566,7 +32566,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -32604,7 +32604,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -32642,7 +32642,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -32680,7 +32680,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -33036,7 +33036,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -33072,7 +33072,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -33108,7 +33108,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -33144,7 +33144,7 @@ static void lts_aga_fm2_n0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -33297,7 +33297,7 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -33344,7 +33344,7 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -33391,7 +33391,7 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -33438,7 +33438,7 @@ static void lts_aga_fm2_n1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -33602,7 +33602,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -33643,7 +33643,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -33684,7 +33684,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -33725,7 +33725,7 @@ static void lts_aga_fm2_dpf0_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -33883,7 +33883,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -33935,7 +33935,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -33987,7 +33987,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -34039,7 +34039,7 @@ static void lts_aga_fm2_dpf1_p4_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -35312,7 +35312,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -35348,7 +35348,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -35384,7 +35384,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -35420,7 +35420,7 @@ static void lts_aga_fm2_n0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -35573,7 +35573,7 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -35620,7 +35620,7 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -35667,7 +35667,7 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -35714,7 +35714,7 @@ static void lts_aga_fm2_n1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -35878,7 +35878,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -35919,7 +35919,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -35960,7 +35960,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -36001,7 +36001,7 @@ static void lts_aga_fm2_dpf0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -36159,7 +36159,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -36211,7 +36211,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -36263,7 +36263,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -36315,7 +36315,7 @@ static void lts_aga_fm2_dpf1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -36852,7 +36852,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -36888,7 +36888,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -36924,7 +36924,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -36960,7 +36960,7 @@ static void lts_aga_fm2_ham0_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -37113,7 +37113,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -37160,7 +37160,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -37207,7 +37207,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -37254,7 +37254,7 @@ static void lts_aga_fm2_ham1_p8_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -37785,7 +37785,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -37812,7 +37812,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -37839,7 +37839,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -37866,7 +37866,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -37978,7 +37978,7 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -38016,7 +38016,7 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -38054,7 +38054,7 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -38092,7 +38092,7 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -38215,7 +38215,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -38247,7 +38247,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -38279,7 +38279,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -38311,7 +38311,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -38428,7 +38428,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -38471,7 +38471,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -38514,7 +38514,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -38557,7 +38557,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -39381,7 +39381,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -39408,7 +39408,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -39435,7 +39435,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -39462,7 +39462,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -39574,7 +39574,7 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -39612,7 +39612,7 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -39650,7 +39650,7 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -39688,7 +39688,7 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -39811,7 +39811,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -39843,7 +39843,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -39875,7 +39875,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -39907,7 +39907,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -40024,7 +40024,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -40067,7 +40067,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -40110,7 +40110,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -40153,7 +40153,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -40513,7 +40513,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -40540,7 +40540,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -40567,7 +40567,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -40594,7 +40594,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -40706,7 +40706,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -40744,7 +40744,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -40782,7 +40782,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -40820,7 +40820,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -41176,7 +41176,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -41212,7 +41212,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -41248,7 +41248,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -41284,7 +41284,7 @@ static void lts_aga_fm2_n0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -41437,7 +41437,7 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -41484,7 +41484,7 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -41531,7 +41531,7 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -41578,7 +41578,7 @@ static void lts_aga_fm2_n1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -41742,7 +41742,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -41783,7 +41783,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -41824,7 +41824,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -41865,7 +41865,7 @@ static void lts_aga_fm2_dpf0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -42023,7 +42023,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -42075,7 +42075,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -42127,7 +42127,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -42179,7 +42179,7 @@ static void lts_aga_fm2_dpf1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -43452,7 +43452,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -43488,7 +43488,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -43524,7 +43524,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -43560,7 +43560,7 @@ static void lts_aga_fm2_n0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -43713,7 +43713,7 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -43760,7 +43760,7 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -43807,7 +43807,7 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -43854,7 +43854,7 @@ static void lts_aga_fm2_n1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -44018,7 +44018,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -44059,7 +44059,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -44100,7 +44100,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -44141,7 +44141,7 @@ static void lts_aga_fm2_dpf0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -44299,7 +44299,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -44351,7 +44351,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -44403,7 +44403,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -44455,7 +44455,7 @@ static void lts_aga_fm2_dpf1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -44992,7 +44992,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -45028,7 +45028,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -45064,7 +45064,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -45100,7 +45100,7 @@ static void lts_aga_fm2_ham0_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -45253,7 +45253,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -45300,7 +45300,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -45347,7 +45347,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -45394,7 +45394,7 @@ static void lts_aga_fm2_ham1_p8_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -45925,7 +45925,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -45946,7 +45946,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -45967,7 +45967,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -45988,7 +45988,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -46094,7 +46094,7 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -46118,7 +46118,7 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -46142,7 +46142,7 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -46166,7 +46166,7 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -46275,7 +46275,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -46301,7 +46301,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -46327,7 +46327,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -46353,7 +46353,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -46464,7 +46464,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -46493,7 +46493,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -46522,7 +46522,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -46551,7 +46551,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -47361,7 +47361,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -47382,7 +47382,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -47403,7 +47403,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -47424,7 +47424,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -47530,7 +47530,7 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -47554,7 +47554,7 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -47578,7 +47578,7 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -47602,7 +47602,7 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -47711,7 +47711,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -47737,7 +47737,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -47763,7 +47763,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -47789,7 +47789,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -47900,7 +47900,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -47929,7 +47929,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -47958,7 +47958,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -47987,7 +47987,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -48333,7 +48333,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -48354,7 +48354,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -48375,7 +48375,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -48396,7 +48396,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -48502,7 +48502,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -48526,7 +48526,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -48550,7 +48550,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -48574,7 +48574,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -48916,7 +48916,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -48946,7 +48946,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -48976,7 +48976,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -49006,7 +49006,7 @@ static void lts_aga_fm2_n0_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -49153,7 +49153,7 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -49186,7 +49186,7 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -49219,7 +49219,7 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -49252,7 +49252,7 @@ static void lts_aga_fm2_n1_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -49402,7 +49402,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -49437,7 +49437,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -49472,7 +49472,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -49507,7 +49507,7 @@ static void lts_aga_fm2_dpf0_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -49659,7 +49659,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -49697,7 +49697,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -49735,7 +49735,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -49773,7 +49773,7 @@ static void lts_aga_fm2_dpf1_p4_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -51032,7 +51032,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -51062,7 +51062,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -51092,7 +51092,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -51122,7 +51122,7 @@ static void lts_aga_fm2_n0_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -51269,7 +51269,7 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0 ^ bplcon4_denise_xor_val];
@@ -51302,7 +51302,7 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1 ^ bplcon4_denise_xor_val];
@@ -51335,7 +51335,7 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2 ^ bplcon4_denise_xor_val];
@@ -51368,7 +51368,7 @@ static void lts_aga_fm2_n1_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = denise_colors.acolors[pix3 ^ bplcon4_denise_xor_val];
@@ -51518,7 +51518,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -51553,7 +51553,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -51588,7 +51588,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -51623,7 +51623,7 @@ static void lts_aga_fm2_dpf0_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -51775,7 +51775,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -51813,7 +51813,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -51851,7 +51851,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -51889,7 +51889,7 @@ static void lts_aga_fm2_dpf1_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        uae_u8 val3 = dpf_lookup[pix3];
@@ -52412,7 +52412,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -52442,7 +52442,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -52472,7 +52472,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -52502,7 +52502,7 @@ static void lts_aga_fm2_ham0_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
@@ -52649,7 +52649,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = loaded_pixs[0];
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = decode_ham_pixel_aga(pix0);
@@ -52682,7 +52682,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = loaded_pixs[1];
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = decode_ham_pixel_aga(pix1);
@@ -52715,7 +52715,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = loaded_pixs[2];
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = decode_ham_pixel_aga(pix2);
@@ -52748,7 +52748,7 @@ static void lts_aga_fm2_ham1_p8_ishres_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix3 = get_genlock_transparency_border();
                                dpix_val3 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix3 = loaded_pixs[3];
                                        clxdat |= bplcoltable[pix3];
                                        dpix_val3 = decode_ham_pixel_aga(pix3);
index 880b6ab52d4688e5e80dacb9adea8b85f2f4ac08..9457f24d00d7ffbf19e542e71705271faa5d33c7 100644 (file)
@@ -29,7 +29,7 @@ static void lts_ecs_shres_dhires(void)
                                dpix_val1 = bordercolor_ecs_shres;
                                dpix_val2 = bordercolor_ecs_shres;
                                dpix_val3 = bordercolor_ecs_shres;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        shifted = true;
                                        pix0 = getbpl2();
                                        shiftbpl2();
@@ -151,7 +151,7 @@ static void lts_ecs_shres_dhires_filtered(void)
                                dpix_val1 = bordercolor_ecs_shres;
                                dpix_val2 = bordercolor_ecs_shres;
                                dpix_val3 = bordercolor_ecs_shres;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        shifted = true;
                                        pix0 = getbpl2();
                                        shiftbpl2();
@@ -275,7 +275,7 @@ static void lts_ecs_shres_dshres(void)
                                dpix_val1 = bordercolor_ecs_shres;
                                dpix_val2 = bordercolor_ecs_shres;
                                dpix_val3 = bordercolor_ecs_shres;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        shifted = true;
                                        pix0 = getbpl2();
                                        shiftbpl2();
@@ -424,7 +424,7 @@ static void lts_ecs_shres_dhires_genlock(void)
                                dpix_val1 = bordercolor_ecs_shres;
                                dpix_val2 = bordercolor_ecs_shres;
                                dpix_val3 = bordercolor_ecs_shres;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        shifted = true;
                                        pix0 = getbpl2();
                                        shiftbpl2();
@@ -552,7 +552,7 @@ static void lts_ecs_shres_dhires_genlock_filtered(void)
                                dpix_val1 = bordercolor_ecs_shres;
                                dpix_val2 = bordercolor_ecs_shres;
                                dpix_val3 = bordercolor_ecs_shres;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        shifted = true;
                                        pix0 = getbpl2();
                                        shiftbpl2();
@@ -684,7 +684,7 @@ static void lts_ecs_shres_dshres_genlock(void)
                                dpix_val1 = bordercolor_ecs_shres;
                                dpix_val2 = bordercolor_ecs_shres;
                                dpix_val3 = bordercolor_ecs_shres;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        shifted = true;
                                        pix0 = getbpl2();
                                        shiftbpl2();
index ad3fee5b9ffb8329fe50302c218d29a1e0dee93d..149a6f93a04a855b2ec6d4d3e2590fa924ebaa5f 100644 (file)
@@ -19,7 +19,7 @@ static void lts_ecs_fm0_n0_p2_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -85,7 +85,7 @@ static void lts_ecs_fm0_n1_p2_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -154,7 +154,7 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -221,7 +221,7 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -515,7 +515,7 @@ static void lts_ecs_fm0_n0_p4_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -581,7 +581,7 @@ static void lts_ecs_fm0_n1_p4_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -650,7 +650,7 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -717,7 +717,7 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1011,7 +1011,7 @@ static void lts_ecs_fm0_n0_p5_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1080,7 +1080,7 @@ static void lts_ecs_fm0_n1_p5_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1152,7 +1152,7 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1222,7 +1222,7 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1407,7 +1407,7 @@ static void lts_ecs_fm0_ham0_p5_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1476,7 +1476,7 @@ static void lts_ecs_fm0_ham1_p5_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1548,7 +1548,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1617,7 +1617,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1689,7 +1689,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1759,7 +1759,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1832,7 +1832,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1906,7 +1906,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1983,7 +1983,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -2052,7 +2052,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -2125,7 +2125,7 @@ static void lts_ecs_fm0_n0_p2_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -2210,7 +2210,7 @@ static void lts_ecs_fm0_n1_p2_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -2298,7 +2298,7 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2384,7 +2384,7 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2697,7 +2697,7 @@ static void lts_ecs_fm0_n0_p4_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -2782,7 +2782,7 @@ static void lts_ecs_fm0_n1_p4_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -2870,7 +2870,7 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2956,7 +2956,7 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3269,7 +3269,7 @@ static void lts_ecs_fm0_n0_p5_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -3357,7 +3357,7 @@ static void lts_ecs_fm0_n1_p5_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -3448,7 +3448,7 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -3537,7 +3537,7 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -3741,7 +3741,7 @@ static void lts_ecs_fm0_ham0_p5_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -3829,7 +3829,7 @@ static void lts_ecs_fm0_ham1_p5_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -3920,7 +3920,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4008,7 +4008,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4099,7 +4099,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4188,7 +4188,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4280,7 +4280,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4373,7 +4373,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4469,7 +4469,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4557,7 +4557,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4647,7 +4647,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -4660,7 +4660,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -4722,7 +4722,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -4735,7 +4735,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -4798,7 +4798,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -4811,7 +4811,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -4876,7 +4876,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -4889,7 +4889,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -4955,7 +4955,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -4969,7 +4969,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -5032,7 +5032,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -5046,7 +5046,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -5110,7 +5110,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -5124,7 +5124,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -5190,7 +5190,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -5204,7 +5204,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -5739,7 +5739,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -5752,7 +5752,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -5814,7 +5814,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -5827,7 +5827,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -5890,7 +5890,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -5903,7 +5903,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -5968,7 +5968,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -5981,7 +5981,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -6047,7 +6047,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6061,7 +6061,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -6124,7 +6124,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6138,7 +6138,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -6202,7 +6202,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6216,7 +6216,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -6282,7 +6282,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6296,7 +6296,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -8704,7 +8704,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -8729,7 +8729,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -8798,7 +8798,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -8823,7 +8823,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -8894,7 +8894,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -8919,7 +8919,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -8991,7 +8991,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -9016,7 +9016,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -9090,7 +9090,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -9116,7 +9116,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -9186,7 +9186,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -9212,7 +9212,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -9284,7 +9284,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -9310,7 +9310,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -9383,7 +9383,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -9409,7 +9409,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -9952,7 +9952,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -9977,7 +9977,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -10046,7 +10046,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -10071,7 +10071,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -10142,7 +10142,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -10167,7 +10167,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -10239,7 +10239,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -10264,7 +10264,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -10338,7 +10338,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10364,7 +10364,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -10434,7 +10434,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10460,7 +10460,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -10532,7 +10532,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10558,7 +10558,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -10631,7 +10631,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10657,7 +10657,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -13071,7 +13071,7 @@ static void lts_ecs_fm0_n0_p2_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -13151,7 +13151,7 @@ static void lts_ecs_fm0_n1_p2_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -13234,7 +13234,7 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -13315,7 +13315,7 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -13679,7 +13679,7 @@ static void lts_ecs_fm0_n0_p4_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -13759,7 +13759,7 @@ static void lts_ecs_fm0_n1_p4_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -13842,7 +13842,7 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -13923,7 +13923,7 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -14287,7 +14287,7 @@ static void lts_ecs_fm0_n0_p5_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -14370,7 +14370,7 @@ static void lts_ecs_fm0_n1_p5_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -14456,7 +14456,7 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -14540,7 +14540,7 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -14767,7 +14767,7 @@ static void lts_ecs_fm0_ham0_p5_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -14850,7 +14850,7 @@ static void lts_ecs_fm0_ham1_p5_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -14936,7 +14936,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -15019,7 +15019,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -15105,7 +15105,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -15189,7 +15189,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -15276,7 +15276,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -15364,7 +15364,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -15455,7 +15455,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -15538,7 +15538,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -15625,7 +15625,7 @@ static void lts_ecs_fm0_n0_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -15725,7 +15725,7 @@ static void lts_ecs_fm0_n1_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -15828,7 +15828,7 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -15929,7 +15929,7 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -16313,7 +16313,7 @@ static void lts_ecs_fm0_n0_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -16413,7 +16413,7 @@ static void lts_ecs_fm0_n1_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -16516,7 +16516,7 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -16617,7 +16617,7 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -17001,7 +17001,7 @@ static void lts_ecs_fm0_n0_p5_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -17104,7 +17104,7 @@ static void lts_ecs_fm0_n1_p5_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -17210,7 +17210,7 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -17314,7 +17314,7 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -17561,7 +17561,7 @@ static void lts_ecs_fm0_ham0_p5_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -17664,7 +17664,7 @@ static void lts_ecs_fm0_ham1_p5_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -17770,7 +17770,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -17873,7 +17873,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -17979,7 +17979,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -18083,7 +18083,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -18190,7 +18190,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -18298,7 +18298,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -18409,7 +18409,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -18512,7 +18512,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -18617,7 +18617,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -18630,7 +18630,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dhires(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -18707,7 +18707,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -18720,7 +18720,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dhires(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -18800,7 +18800,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -18814,7 +18814,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dhires(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -18892,7 +18892,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -18906,7 +18906,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dhires(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -19279,7 +19279,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -19292,7 +19292,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -19369,7 +19369,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -19382,7 +19382,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -19462,7 +19462,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -19476,7 +19476,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -19554,7 +19554,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -19568,7 +19568,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -21110,7 +21110,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -21135,7 +21135,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -21226,7 +21226,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -21251,7 +21251,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -21345,7 +21345,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -21371,7 +21371,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -21463,7 +21463,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -21489,7 +21489,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dhires_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -21876,7 +21876,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -21901,7 +21901,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -21992,7 +21992,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -22017,7 +22017,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -22111,7 +22111,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -22137,7 +22137,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -22229,7 +22229,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -22255,7 +22255,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_spr(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -23809,7 +23809,7 @@ static void lts_ecs_fm0_n0_p2_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -23917,7 +23917,7 @@ static void lts_ecs_fm0_n1_p2_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -24028,7 +24028,7 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -24137,7 +24137,7 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -24641,7 +24641,7 @@ static void lts_ecs_fm0_n0_p4_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -24749,7 +24749,7 @@ static void lts_ecs_fm0_n1_p4_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -24860,7 +24860,7 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -24969,7 +24969,7 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -25473,7 +25473,7 @@ static void lts_ecs_fm0_n0_p5_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -25584,7 +25584,7 @@ static void lts_ecs_fm0_n1_p5_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -25698,7 +25698,7 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -25810,7 +25810,7 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -26121,7 +26121,7 @@ static void lts_ecs_fm0_ham0_p5_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -26232,7 +26232,7 @@ static void lts_ecs_fm0_ham1_p5_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -26346,7 +26346,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -26457,7 +26457,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -26571,7 +26571,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -26683,7 +26683,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -26798,7 +26798,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -26914,7 +26914,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -27033,7 +27033,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -27144,7 +27144,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -27259,7 +27259,7 @@ static void lts_ecs_fm0_n0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -27389,7 +27389,7 @@ static void lts_ecs_fm0_n1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -27522,7 +27522,7 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -27653,7 +27653,7 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -28179,7 +28179,7 @@ static void lts_ecs_fm0_n0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -28309,7 +28309,7 @@ static void lts_ecs_fm0_n1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -28442,7 +28442,7 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -28573,7 +28573,7 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -29099,7 +29099,7 @@ static void lts_ecs_fm0_n0_p5_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -29232,7 +29232,7 @@ static void lts_ecs_fm0_n1_p5_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -29368,7 +29368,7 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -29502,7 +29502,7 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -29835,7 +29835,7 @@ static void lts_ecs_fm0_ham0_p5_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -29968,7 +29968,7 @@ static void lts_ecs_fm0_ham1_p5_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -30104,7 +30104,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -30237,7 +30237,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -30373,7 +30373,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -30507,7 +30507,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -30644,7 +30644,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -30782,7 +30782,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -30923,7 +30923,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -31056,7 +31056,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -31191,7 +31191,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -31205,7 +31205,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl2();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -31309,7 +31309,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -31323,7 +31323,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl2();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -31430,7 +31430,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -31445,7 +31445,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl2();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -31550,7 +31550,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -31565,7 +31565,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl2();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -32077,7 +32077,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -32091,7 +32091,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -32195,7 +32195,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -32209,7 +32209,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -32316,7 +32316,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -32331,7 +32331,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -32436,7 +32436,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -32451,7 +32451,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -34580,7 +34580,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -34606,7 +34606,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl2();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -34738,7 +34738,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -34764,7 +34764,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl2();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -34899,7 +34899,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -34926,7 +34926,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl2();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -35059,7 +35059,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -35086,7 +35086,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl2();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -35626,7 +35626,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -35652,7 +35652,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -35784,7 +35784,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -35810,7 +35810,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -35945,7 +35945,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -35972,7 +35972,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -36105,7 +36105,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -36132,7 +36132,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_spr(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
index a3aa08c261572fdfc61635fe09707c18c49f4189..a8904c0fa2c914da968c9af9770dcc2914b026c5 100644 (file)
@@ -21,7 +21,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -94,7 +94,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -170,7 +170,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -244,7 +244,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -321,7 +321,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -399,7 +399,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -480,7 +480,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -553,7 +553,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -630,7 +630,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -724,7 +724,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -821,7 +821,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -916,7 +916,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1014,7 +1014,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1113,7 +1113,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1215,7 +1215,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1309,7 +1309,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1405,7 +1405,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -1421,7 +1421,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -1487,7 +1487,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -1503,7 +1503,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -1571,7 +1571,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -1587,7 +1587,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -1656,7 +1656,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -1672,7 +1672,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -1743,7 +1743,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1760,7 +1760,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -1827,7 +1827,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1844,7 +1844,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -1913,7 +1913,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1930,7 +1930,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -2000,7 +2000,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2017,7 +2017,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -2602,7 +2602,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -2630,7 +2630,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -2705,7 +2705,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -2733,7 +2733,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -2811,7 +2811,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -2839,7 +2839,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -2917,7 +2917,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -2945,7 +2945,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -3026,7 +3026,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3055,7 +3055,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -3131,7 +3131,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3160,7 +3160,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -3239,7 +3239,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3268,7 +3268,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -3347,7 +3347,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3376,7 +3376,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -3969,7 +3969,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4058,7 +4058,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4150,7 +4150,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4240,7 +4240,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4333,7 +4333,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4427,7 +4427,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4524,7 +4524,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4613,7 +4613,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4706,7 +4706,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4817,7 +4817,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4931,7 +4931,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -5043,7 +5043,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -5158,7 +5158,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -5274,7 +5274,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -5393,7 +5393,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -5504,7 +5504,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -5617,7 +5617,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -5633,7 +5633,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -5715,7 +5715,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -5731,7 +5731,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -5816,7 +5816,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -5833,7 +5833,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -5916,7 +5916,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -5933,7 +5933,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -6336,7 +6336,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -6364,7 +6364,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -6464,7 +6464,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -6492,7 +6492,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -6595,7 +6595,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6624,7 +6624,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -6725,7 +6725,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6754,7 +6754,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -7173,7 +7173,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -7294,7 +7294,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -7418,7 +7418,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -7540,7 +7540,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -7665,7 +7665,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -7791,7 +7791,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -7920,7 +7920,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -8041,7 +8041,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -8166,7 +8166,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -8311,7 +8311,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -8459,7 +8459,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -8605,7 +8605,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -8754,7 +8754,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -8904,7 +8904,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -9057,7 +9057,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -9202,7 +9202,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -9349,7 +9349,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -9366,7 +9366,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -9479,7 +9479,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -9496,7 +9496,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -9612,7 +9612,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -9630,7 +9630,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -9744,7 +9744,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -9762,7 +9762,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -10324,7 +10324,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -10353,7 +10353,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -10502,7 +10502,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -10531,7 +10531,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -10683,7 +10683,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10713,7 +10713,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -10863,7 +10863,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10893,7 +10893,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_spr_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
index 65be6b678840692d2d7b01c23658cf68235eaf48..8f0e6c6213e44c2308a093a3c73617f210aefa4a 100644 (file)
@@ -19,7 +19,7 @@ static void lts_ecs_fm0_n0_p2_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -86,7 +86,7 @@ static void lts_ecs_fm0_n1_p2_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -156,7 +156,7 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -224,7 +224,7 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -523,7 +523,7 @@ static void lts_ecs_fm0_n0_p4_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -590,7 +590,7 @@ static void lts_ecs_fm0_n1_p4_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -660,7 +660,7 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -728,7 +728,7 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1027,7 +1027,7 @@ static void lts_ecs_fm0_n0_p5_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1097,7 +1097,7 @@ static void lts_ecs_fm0_n1_p5_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1170,7 +1170,7 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1241,7 +1241,7 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1429,7 +1429,7 @@ static void lts_ecs_fm0_ham0_p5_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1499,7 +1499,7 @@ static void lts_ecs_fm0_ham1_p5_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1572,7 +1572,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1642,7 +1642,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1715,7 +1715,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1786,7 +1786,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1860,7 +1860,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1935,7 +1935,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -2013,7 +2013,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -2083,7 +2083,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -2157,7 +2157,7 @@ static void lts_ecs_fm0_n0_p2_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -2243,7 +2243,7 @@ static void lts_ecs_fm0_n1_p2_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -2332,7 +2332,7 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2419,7 +2419,7 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2737,7 +2737,7 @@ static void lts_ecs_fm0_n0_p4_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -2823,7 +2823,7 @@ static void lts_ecs_fm0_n1_p4_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -2912,7 +2912,7 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2999,7 +2999,7 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3317,7 +3317,7 @@ static void lts_ecs_fm0_n0_p5_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -3406,7 +3406,7 @@ static void lts_ecs_fm0_n1_p5_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -3498,7 +3498,7 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -3588,7 +3588,7 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -3795,7 +3795,7 @@ static void lts_ecs_fm0_ham0_p5_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -3884,7 +3884,7 @@ static void lts_ecs_fm0_ham1_p5_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -3976,7 +3976,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4065,7 +4065,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4157,7 +4157,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4247,7 +4247,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4340,7 +4340,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4434,7 +4434,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4531,7 +4531,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4620,7 +4620,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4711,7 +4711,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -4724,7 +4724,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -4787,7 +4787,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_ntsc_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -4800,7 +4800,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_ntsc_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -4864,7 +4864,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -4877,7 +4877,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -4943,7 +4943,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_ntsc_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -4956,7 +4956,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_ntsc_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -5023,7 +5023,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -5037,7 +5037,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -5101,7 +5101,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_ntsc_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -5115,7 +5115,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_ntsc_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -5180,7 +5180,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -5194,7 +5194,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -5261,7 +5261,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_ntsc_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -5275,7 +5275,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_ntsc_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -5819,7 +5819,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -5832,7 +5832,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -5895,7 +5895,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_ntsc_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -5908,7 +5908,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_ntsc_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -5972,7 +5972,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -5985,7 +5985,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -6051,7 +6051,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_ntsc_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -6064,7 +6064,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_ntsc_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -6131,7 +6131,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6145,7 +6145,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -6209,7 +6209,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_ntsc_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6223,7 +6223,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_ntsc_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -6288,7 +6288,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6302,7 +6302,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -6369,7 +6369,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_ntsc_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6383,7 +6383,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_ntsc_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -8832,7 +8832,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -8857,7 +8857,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_spr_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -8927,7 +8927,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_spr_ntsc_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -8952,7 +8952,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dlores_spr_ntsc_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -9024,7 +9024,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -9049,7 +9049,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_spr_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -9122,7 +9122,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_spr_ntsc_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -9147,7 +9147,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dlores_spr_ntsc_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -9222,7 +9222,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -9248,7 +9248,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_spr_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -9319,7 +9319,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_spr_ntsc_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -9345,7 +9345,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dlores_spr_ntsc_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -9418,7 +9418,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -9444,7 +9444,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_spr_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -9518,7 +9518,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_spr_ntsc_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -9544,7 +9544,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dlores_spr_ntsc_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -10096,7 +10096,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -10121,7 +10121,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -10191,7 +10191,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_ntsc_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -10216,7 +10216,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_ntsc_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -10288,7 +10288,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -10313,7 +10313,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -10386,7 +10386,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_ntsc_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -10411,7 +10411,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_ntsc_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -10486,7 +10486,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10512,7 +10512,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -10583,7 +10583,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_ntsc_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10609,7 +10609,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_ntsc_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -10682,7 +10682,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10708,7 +10708,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -10782,7 +10782,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_ntsc_filtered(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10808,7 +10808,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_ntsc_filtered(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -13263,7 +13263,7 @@ static void lts_ecs_fm0_n0_p2_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -13345,7 +13345,7 @@ static void lts_ecs_fm0_n1_p2_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -13430,7 +13430,7 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -13513,7 +13513,7 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -13887,7 +13887,7 @@ static void lts_ecs_fm0_n0_p4_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -13969,7 +13969,7 @@ static void lts_ecs_fm0_n1_p4_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -14054,7 +14054,7 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -14137,7 +14137,7 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -14511,7 +14511,7 @@ static void lts_ecs_fm0_n0_p5_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -14596,7 +14596,7 @@ static void lts_ecs_fm0_n1_p5_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -14684,7 +14684,7 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -14770,7 +14770,7 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -15003,7 +15003,7 @@ static void lts_ecs_fm0_ham0_p5_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -15088,7 +15088,7 @@ static void lts_ecs_fm0_ham1_p5_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -15176,7 +15176,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -15261,7 +15261,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -15349,7 +15349,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -15435,7 +15435,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -15524,7 +15524,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -15614,7 +15614,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -15707,7 +15707,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -15792,7 +15792,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -15881,7 +15881,7 @@ static void lts_ecs_fm0_n0_p2_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -15983,7 +15983,7 @@ static void lts_ecs_fm0_n1_p2_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -16088,7 +16088,7 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -16191,7 +16191,7 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -16585,7 +16585,7 @@ static void lts_ecs_fm0_n0_p4_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -16687,7 +16687,7 @@ static void lts_ecs_fm0_n1_p4_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -16792,7 +16792,7 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -16895,7 +16895,7 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -17289,7 +17289,7 @@ static void lts_ecs_fm0_n0_p5_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -17394,7 +17394,7 @@ static void lts_ecs_fm0_n1_p5_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -17502,7 +17502,7 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -17608,7 +17608,7 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -17861,7 +17861,7 @@ static void lts_ecs_fm0_ham0_p5_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -17966,7 +17966,7 @@ static void lts_ecs_fm0_ham1_p5_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -18074,7 +18074,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -18179,7 +18179,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -18287,7 +18287,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -18393,7 +18393,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -18502,7 +18502,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -18612,7 +18612,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -18725,7 +18725,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -18830,7 +18830,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -18937,7 +18937,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -18950,7 +18950,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dhires_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -19029,7 +19029,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -19042,7 +19042,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dhires_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -19124,7 +19124,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -19138,7 +19138,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dhires_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -19218,7 +19218,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -19232,7 +19232,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dhires_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -19615,7 +19615,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -19628,7 +19628,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -19707,7 +19707,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -19720,7 +19720,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -19802,7 +19802,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -19816,7 +19816,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -19896,7 +19896,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -19910,7 +19910,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -21494,7 +21494,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -21519,7 +21519,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dhires_spr_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -21612,7 +21612,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -21637,7 +21637,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dhires_spr_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -21733,7 +21733,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -21759,7 +21759,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dhires_spr_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -21853,7 +21853,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -21879,7 +21879,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dhires_spr_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl2();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -22276,7 +22276,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -22301,7 +22301,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_spr_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -22394,7 +22394,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -22419,7 +22419,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_spr_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -22515,7 +22515,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -22541,7 +22541,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_spr_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -22635,7 +22635,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -22661,7 +22661,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_spr_ntsc(void)
                        uae_u32 dpix_val1 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -24257,7 +24257,7 @@ static void lts_ecs_fm0_n0_p2_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -24369,7 +24369,7 @@ static void lts_ecs_fm0_n1_p2_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -24484,7 +24484,7 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -24597,7 +24597,7 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -25121,7 +25121,7 @@ static void lts_ecs_fm0_n0_p4_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -25233,7 +25233,7 @@ static void lts_ecs_fm0_n1_p4_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -25348,7 +25348,7 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -25461,7 +25461,7 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -25985,7 +25985,7 @@ static void lts_ecs_fm0_n0_p5_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -26100,7 +26100,7 @@ static void lts_ecs_fm0_n1_p5_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -26218,7 +26218,7 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -26334,7 +26334,7 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -26657,7 +26657,7 @@ static void lts_ecs_fm0_ham0_p5_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -26772,7 +26772,7 @@ static void lts_ecs_fm0_ham1_p5_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -26890,7 +26890,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -27005,7 +27005,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -27123,7 +27123,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -27239,7 +27239,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -27358,7 +27358,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -27478,7 +27478,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -27601,7 +27601,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -27716,7 +27716,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -27835,7 +27835,7 @@ static void lts_ecs_fm0_n0_p2_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -27969,7 +27969,7 @@ static void lts_ecs_fm0_n1_p2_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -28106,7 +28106,7 @@ static void lts_ecs_fm0_dpf0_p2_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -28241,7 +28241,7 @@ static void lts_ecs_fm0_dpf1_p2_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -28787,7 +28787,7 @@ static void lts_ecs_fm0_n0_p4_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -28921,7 +28921,7 @@ static void lts_ecs_fm0_n1_p4_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -29058,7 +29058,7 @@ static void lts_ecs_fm0_dpf0_p4_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -29193,7 +29193,7 @@ static void lts_ecs_fm0_dpf1_p4_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -29739,7 +29739,7 @@ static void lts_ecs_fm0_n0_p5_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -29876,7 +29876,7 @@ static void lts_ecs_fm0_n1_p5_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -30016,7 +30016,7 @@ static void lts_ecs_fm0_dpf0_p5_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -30154,7 +30154,7 @@ static void lts_ecs_fm0_dpf1_p5_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -30499,7 +30499,7 @@ static void lts_ecs_fm0_ham0_p5_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -30636,7 +30636,7 @@ static void lts_ecs_fm0_ham1_p5_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl5();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -30776,7 +30776,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -30913,7 +30913,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -31053,7 +31053,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -31191,7 +31191,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -31332,7 +31332,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -31474,7 +31474,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -31619,7 +31619,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -31756,7 +31756,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -31895,7 +31895,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -31909,7 +31909,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dshres_ntsc(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl2();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -32017,7 +32017,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -32031,7 +32031,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dshres_ntsc(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl2();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -32142,7 +32142,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -32157,7 +32157,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dshres_ntsc(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl2();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -32266,7 +32266,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -32281,7 +32281,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dshres_ntsc(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl2();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -32813,7 +32813,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -32827,7 +32827,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_ntsc(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -32935,7 +32935,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -32949,7 +32949,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_ntsc(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -33060,7 +33060,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -33075,7 +33075,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_ntsc(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -33184,7 +33184,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -33199,7 +33199,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_ntsc(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -35412,7 +35412,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -35438,7 +35438,7 @@ static void lts_ecs_fm0_n0_p2_ihires_dshres_spr_ntsc(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl2();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -35574,7 +35574,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -35600,7 +35600,7 @@ static void lts_ecs_fm0_n1_p2_ihires_dshres_spr_ntsc(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl2();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -35739,7 +35739,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -35766,7 +35766,7 @@ static void lts_ecs_fm0_dpf0_p2_ihires_dshres_spr_ntsc(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl2();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -35903,7 +35903,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl2();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -35930,7 +35930,7 @@ static void lts_ecs_fm0_dpf1_p2_ihires_dshres_spr_ntsc(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl2();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -36490,7 +36490,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -36516,7 +36516,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_spr_ntsc(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -36652,7 +36652,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -36678,7 +36678,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_spr_ntsc(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -36817,7 +36817,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -36844,7 +36844,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_spr_ntsc(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -36981,7 +36981,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_spr_ntsc(void)
                        uae_u32 dpix_val0 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -37008,7 +37008,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_spr_ntsc(void)
                        uae_u32 dpix_val2 = BLANK_COLOR;
                        if (!denise_blank_active) {
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
index 4d8342532bf059a53a1c4fa38dbce19b517cdca0..248f801ee9d26ee3699972b2e23a311b4e79a56a 100644 (file)
@@ -21,7 +21,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -96,7 +96,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -174,7 +174,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -250,7 +250,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -329,7 +329,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -409,7 +409,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -492,7 +492,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -567,7 +567,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -646,7 +646,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dlores_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -742,7 +742,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dlores_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -841,7 +841,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dlores_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -938,7 +938,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dlores_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1038,7 +1038,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dlores_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1139,7 +1139,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dlores_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1243,7 +1243,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dlores_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1339,7 +1339,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dlores_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -1437,7 +1437,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -1453,7 +1453,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -1521,7 +1521,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_ntsc_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -1537,7 +1537,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_ntsc_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -1607,7 +1607,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -1623,7 +1623,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -1694,7 +1694,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_ntsc_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -1710,7 +1710,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_ntsc_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -1783,7 +1783,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1800,7 +1800,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -1869,7 +1869,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_ntsc_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1886,7 +1886,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_ntsc_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -1957,7 +1957,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -1974,7 +1974,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -2046,7 +2046,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_ntsc_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -2063,7 +2063,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_ntsc_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -2666,7 +2666,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -2694,7 +2694,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -2771,7 +2771,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_ntsc_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -2799,7 +2799,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dlores_spr_ntsc_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -2879,7 +2879,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -2907,7 +2907,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -2987,7 +2987,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_ntsc_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -3015,7 +3015,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dlores_spr_ntsc_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -3098,7 +3098,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3127,7 +3127,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -3205,7 +3205,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_ntsc_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3234,7 +3234,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dlores_spr_ntsc_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -3315,7 +3315,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3344,7 +3344,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -3425,7 +3425,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_ntsc_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -3454,7 +3454,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dlores_spr_ntsc_filtered_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -4065,7 +4065,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4158,7 +4158,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4254,7 +4254,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4348,7 +4348,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4445,7 +4445,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4543,7 +4543,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4644,7 +4644,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4737,7 +4737,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4834,7 +4834,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dhires_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -4949,7 +4949,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dhires_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -5067,7 +5067,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dhires_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -5183,7 +5183,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dhires_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -5302,7 +5302,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dhires_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -5422,7 +5422,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dhires_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -5545,7 +5545,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dhires_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -5660,7 +5660,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dhires_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -5777,7 +5777,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -5793,7 +5793,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -5879,7 +5879,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -5895,7 +5895,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -5984,7 +5984,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6001,7 +6001,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -6088,7 +6088,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6105,7 +6105,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -6528,7 +6528,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -6556,7 +6556,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dhires_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -6660,7 +6660,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -6688,7 +6688,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dhires_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        dpix_val1 = denise_colors.acolors[pix1];
@@ -6795,7 +6795,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6824,7 +6824,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dhires_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -6929,7 +6929,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -6958,7 +6958,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dhires_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix1 = get_genlock_transparency_border();
                                dpix_val1 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix1 = getbpl4();
                                        clxdat |= bplcoltable[pix1];
                                        uae_u8 val1 = dpf_lookup[pix1];
@@ -7397,7 +7397,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -7526,7 +7526,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -7658,7 +7658,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -7788,7 +7788,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -7921,7 +7921,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -8055,7 +8055,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -8192,7 +8192,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -8321,7 +8321,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -8454,7 +8454,7 @@ static void lts_ecs_fm0_n0_p6_ilores_dshres_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -8607,7 +8607,7 @@ static void lts_ecs_fm0_n1_p6_ilores_dshres_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -8763,7 +8763,7 @@ static void lts_ecs_fm0_dpf0_p6_ilores_dshres_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -8917,7 +8917,7 @@ static void lts_ecs_fm0_dpf1_p6_ilores_dshres_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -9074,7 +9074,7 @@ static void lts_ecs_fm0_ehb0_p6_ilores_dshres_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -9232,7 +9232,7 @@ static void lts_ecs_fm0_ehb1_p6_ilores_dshres_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -9393,7 +9393,7 @@ static void lts_ecs_fm0_ham0_p6_ilores_dshres_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -9546,7 +9546,7 @@ static void lts_ecs_fm0_ham1_p6_ilores_dshres_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl6();
                                        clxdat |= bplcoltable[pix0];
                                        if (decode_specials) {
@@ -9701,7 +9701,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -9718,7 +9718,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -9839,7 +9839,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -9856,7 +9856,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -9980,7 +9980,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -9998,7 +9998,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -10120,7 +10120,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -10138,7 +10138,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -10740,7 +10740,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -10769,7 +10769,7 @@ static void lts_ecs_fm0_n0_p4_ihires_dshres_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -10926,7 +10926,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        dpix_val0 = denise_colors.acolors[pix0];
@@ -10955,7 +10955,7 @@ static void lts_ecs_fm0_n1_p4_ihires_dshres_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        dpix_val2 = denise_colors.acolors[pix2];
@@ -11115,7 +11115,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -11145,7 +11145,7 @@ static void lts_ecs_fm0_dpf0_p4_ihires_dshres_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];
@@ -11303,7 +11303,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix0 = get_genlock_transparency_border();
                                dpix_val0 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix0 = getbpl4();
                                        clxdat |= bplcoltable[pix0];
                                        uae_u8 val0 = dpf_lookup[pix0];
@@ -11333,7 +11333,7 @@ static void lts_ecs_fm0_dpf1_p4_ihires_dshres_spr_ntsc_genlock(void)
                        if (!denise_blank_active) {
                                gpix2 = get_genlock_transparency_border();
                                dpix_val2 = bordercolor;
-                               if (denise_hdiw && bpl1dat_trigger) {
+                               if (denise_hdiw && bpl1dat_trigger && !diw_disable) {
                                        pix2 = getbpl4();
                                        clxdat |= bplcoltable[pix2];
                                        uae_u8 val2 = dpf_lookup[pix2];