summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/mame/amiga/agnus_copper.cpp5
-rw-r--r--src/mame/amiga/amiga_m.cpp6
2 files changed, 7 insertions, 4 deletions
diff --git a/src/mame/amiga/agnus_copper.cpp b/src/mame/amiga/agnus_copper.cpp
index 688ebf6c5c5..a4c74d4e802 100644
--- a/src/mame/amiga/agnus_copper.cpp
+++ b/src/mame/amiga/agnus_copper.cpp
@@ -312,13 +312,14 @@ int agnus_copper_device::execute_next(int xpos, int ypos, bool is_blitter_busy,
if (word0 >= m_cdang_setting)
{
// SKIP applies to valid MOVEs only
- // - apocalyps (gameplay)
+ // - apocalyps (gameplay, chain of SKIPs & WAIT)
+ // - rbisland (loading screen at least, tries to SKIP a CDANG MOVE)
if (m_state_skipping)
{
LOGINST(" (Ignored)\n");
m_state_skipping = false;
// TODO: verify timings
- // may depend on num of planes enabled (move_offset) or opcode fetch above is enough.
+ // may depend on num of planes enabled (move_offset) or opcode fetch above is enough.
xpos += COPPER_CYCLES_TO_PIXELS(2);
return xpos;
}
diff --git a/src/mame/amiga/amiga_m.cpp b/src/mame/amiga/amiga_m.cpp
index d529e683e7e..e0e2118c7ae 100644
--- a/src/mame/amiga/amiga_m.cpp
+++ b/src/mame/amiga/amiga_m.cpp
@@ -1365,8 +1365,10 @@ uint16_t amiga_state::custom_chip_r(offs_t offset)
case REG_CLXDAT:
temp = CUSTOM_REG(REG_CLXDAT);
- CUSTOM_REG(REG_CLXDAT) = 0;
- return temp;
+ if (!machine().side_effects_disabled())
+ CUSTOM_REG(REG_CLXDAT) = 0;
+ // - "Barney [& Freddy] Mouse" requires bit 15 high all the time
+ return temp | (1 << 15);
case REG_DENISEID:
return CUSTOM_REG(REG_DENISEID);