From a6218ad31d652e0150f8d759ac09436661f82808 Mon Sep 17 00:00:00 2001 From: hap Date: Mon, 1 Feb 2021 20:54:09 +0100 Subject: [PATCH] Revert "i8244: fix problem with major system overlap" This reverts commit 401e9f670a906ac0cfe48bfa20ded143bb17ced0. --- src/devices/video/i8244.cpp | 25 +++++++++++++------------ src/mame/drivers/odyssey2.cpp | 1 + 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/devices/video/i8244.cpp b/src/devices/video/i8244.cpp index b13ad9d2037..366a7ab5618 100644 --- a/src/devices/video/i8244.cpp +++ b/src/devices/video/i8244.cpp @@ -564,24 +564,25 @@ void i8244_device::char_pixel(u8 index, int x, int y, u8 pixel, u16 color, bitma m_control_status |= 0x80; // TODO: much more complex on actual console (weird glitches happen) - continue; + if (colx & 0x80) + continue; } else m_priority_map[px] = index; - // note: collision affects transparent pixels too - // check if we collide with an already drawn source object - if (m_vdc.s.collision & colx) - m_collision_status |= 0x80; - - // check if an already drawn object would collide with us - if (m_vdc.s.collision & 0x80) - m_collision_status |= colx; - - m_collision_map[px] |= 0x80; - if (pixel) + { + // check if we collide with an already drawn source object + if (m_vdc.s.collision & colx) + m_collision_status |= 0x80; + + // check if an already drawn object would collide with us + if (m_vdc.s.collision & 0x80) + m_collision_status |= colx; + + m_collision_map[px] |= 0x80; bitmap.pix(y, px) = color; + } } } } diff --git a/src/mame/drivers/odyssey2.cpp b/src/mame/drivers/odyssey2.cpp index 4b2de5275e2..b30c72260bf 100644 --- a/src/mame/drivers/odyssey2.cpp +++ b/src/mame/drivers/odyssey2.cpp @@ -60,6 +60,7 @@ TODO: (including transparent pixels) will cause glitches and instability, it can even overwrite the VDC color and pointer registers * gunfight: accidental usage, sometimes causes 1-frame glitches near bullet + * powerlrd: occurs at pink mountain on the right, it's not 1:1 identical on MAME * several homebrews by Rafael: precisely placed overlap to force character color to change to white, see for example Piggyback Planet and Mean Santa - 8245(PAL) video timing is not 100% accurate, though vtotal and htotal should