From 41eb43ca9758c0ecdc1c1e65b57ce3d798ed7389 Mon Sep 17 00:00:00 2001 From: angelosa Date: Wed, 1 Jan 2025 12:39:59 +0100 Subject: amiga/amiga_v: don't run copper cycles for ephemeral out of beam phase --- src/mame/amiga/amiga_v.cpp | 2 +- src/mame/amiga/amigaaga.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mame/amiga/amiga_v.cpp b/src/mame/amiga/amiga_v.cpp index 709a08dac37..00814e11d41 100644 --- a/src/mame/amiga/amiga_v.cpp +++ b/src/mame/amiga/amiga_v.cpp @@ -554,7 +554,7 @@ void amiga_state::render_scanline(bitmap_rgb32 &bitmap, int scanline) const bool out_of_beam = x >= amiga_state::SCREEN_WIDTH / 2; /* time to execute the copper? */ - if (x == next_copper_x) + if (x == next_copper_x && !out_of_beam) { /* execute the next batch, restoring and re-saving color 0 around it */ CUSTOM_REG(REG_COLOR00) = save_color0; diff --git a/src/mame/amiga/amigaaga.cpp b/src/mame/amiga/amigaaga.cpp index d56f793d406..ed16ee32b3f 100644 --- a/src/mame/amiga/amigaaga.cpp +++ b/src/mame/amiga/amigaaga.cpp @@ -551,7 +551,7 @@ void amiga_state::aga_render_scanline(bitmap_rgb32 &bitmap, int scanline) const bool out_of_beam = x >= amiga_state::SCREEN_WIDTH / 2; /* time to execute the copper? */ - if (x == next_copper_x) + if (x == next_copper_x && !out_of_beam) { planes = (CUSTOM_REG(REG_BPLCON0) & (BPLCON0_BPU0 | BPLCON0_BPU1 | BPLCON0_BPU2)) >> 12; // TODO: verify number of planes that doesn't go beyond 8 -- cgit v1.2.3