From cfcb2417b6855605205b5a897c4aa61a5fecdabb Mon Sep 17 00:00:00 2001 From: Curt Coder Date: Wed, 15 Apr 2020 21:24:58 +0300 Subject: [PATCH] abc800c, abc800m: Fixed HR graphics. [Curt Coder] --- hash/abc800.xml | 4 ++-- src/mame/drivers/abc80x.cpp | 8 ++++---- src/mame/video/abc800.cpp | 5 ++--- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/hash/abc800.xml b/hash/abc800.xml index b278aafe65e..c1da1e14bc1 100644 --- a/hash/abc800.xml +++ b/hash/abc800.xml @@ -189,8 +189,8 @@ license:CC0 - - + + diff --git a/src/mame/drivers/abc80x.cpp b/src/mame/drivers/abc80x.cpp index c4763923e9d..5300abf869c 100644 --- a/src/mame/drivers/abc80x.cpp +++ b/src/mame/drivers/abc80x.cpp @@ -193,7 +193,7 @@ READ8_MEMBER( abc800_state::read ) { uint8_t data = 0xff; - if (offset < 0x4000 && !m_keydtr) + if (offset < 0x4000 && (!m_keydtr || m_fetch_charram)) { data = m_video_ram[offset]; } @@ -219,7 +219,7 @@ READ8_MEMBER( abc800_state::read ) WRITE8_MEMBER( abc800_state::write ) { - if (offset < 0x4000 && !m_keydtr) + if (offset < 0x4000 && (!m_keydtr || m_fetch_charram)) { m_video_ram[offset] = data; } @@ -1121,7 +1121,7 @@ void abc800c_state::abc800c(machine_config &config) subdevice(ABCBUS_TAG)->set_default_option("abc830"); // internal ram - RAM(config, RAM_TAG).set_default_size("16K").set_extra_options("32K"); + RAM(config, RAM_TAG).set_default_size("32K"); } @@ -1150,7 +1150,7 @@ void abc800m_state::abc800m(machine_config &config) subdevice(ABCBUS_TAG)->set_default_option("abc830"); // internal ram - RAM(config, RAM_TAG).set_default_size("16K").set_extra_options("32K"); + RAM(config, RAM_TAG).set_default_size("32K"); } diff --git a/src/mame/video/abc800.cpp b/src/mame/video/abc800.cpp index 2322030cba3..412890a5f18 100644 --- a/src/mame/video/abc800.cpp +++ b/src/mame/video/abc800.cpp @@ -12,10 +12,9 @@ -// these are needed because the MC6845 emulation does +// this is needed because the MC6845 emulation does // not position the active display area correctly #define HORIZONTAL_PORCH_HACK 115 -#define VERTICAL_PORCH_HACK 29 @@ -188,7 +187,7 @@ void abc800m_state::hr_update(bitmap_rgb32 &bitmap, const rectangle &cliprect) const pen_t *pen = m_palette->pens(); - for (int y = m_hrs + VERTICAL_PORCH_HACK; y < std::min(cliprect.max_y + 1, m_hrs + VERTICAL_PORCH_HACK + 240); y++) + for (int y = m_hrs; y < std::min(cliprect.max_y + 1, m_hrs + 240); y++) { int x = HORIZONTAL_PORCH_HACK;