summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers
diff options
context:
space:
mode:
author holub <andrei.holub@gmail.com>2022-06-20 12:13:47 -0400
committer GitHub <noreply@github.com>2022-06-21 02:13:47 +1000
commit90115f4de2964170bf4c84e4ceb0404a5a636b16 (patch)
treef1712b2dc02edb363468fecbe481ad7fdfc30759 /src/mame/drivers
parente6477ba68c37a17c8b5203c11c9afbaf42321e1a (diff)
spectrum.cpp, spec128.cpp: Fixed partial updates at end of frame. (#9945)
See MT08264 and MT08265 as well as discussion on GitHub #9670 and #9750.
Diffstat (limited to 'src/mame/drivers')
-rw-r--r--src/mame/drivers/spec128.cpp7
-rw-r--r--src/mame/drivers/spectrum.cpp4
2 files changed, 8 insertions, 3 deletions
diff --git a/src/mame/drivers/spec128.cpp b/src/mame/drivers/spec128.cpp
index d926c34ac13..aaa8d0ef3bb 100644
--- a/src/mame/drivers/spec128.cpp
+++ b/src/mame/drivers/spec128.cpp
@@ -346,7 +346,8 @@ GFXDECODE_END
rectangle spectrum_128_state::get_screen_area()
{
- return rectangle{48, 48 + 255, 63, 63 + 191};
+ return { SPEC_LEFT_BORDER, SPEC_LEFT_BORDER + SPEC_DISPLAY_XSIZE - 1,
+ SPEC128_UNSEEN_LINES + SPEC_TOP_BORDER, SPEC128_UNSEEN_LINES + SPEC_TOP_BORDER + SPEC_DISPLAY_YSIZE - 1 };
}
void spectrum_128_state::spectrum_128(machine_config &config)
@@ -363,7 +364,9 @@ void spectrum_128_state::spectrum_128(machine_config &config)
config.set_maximum_quantum(attotime::from_hz(60));
/* video hardware */
- m_screen->set_raw(X1_128_SINCLAIR / 5, 456, 311, {get_screen_area().left() - 48, get_screen_area().right() + 48, get_screen_area().top() - 48, get_screen_area().bottom() + 56});
+ rectangle visarea = { get_screen_area().left() - SPEC_LEFT_BORDER, get_screen_area().right() + SPEC_RIGHT_BORDER,
+ get_screen_area().top() - SPEC_TOP_BORDER, get_screen_area().bottom() + SPEC_BOTTOM_BORDER };
+ m_screen->set_raw(X1_128_SINCLAIR / 5, SPEC128_CYCLES_PER_LINE * 2, SPEC128_UNSEEN_LINES + SPEC_SCREEN_HEIGHT, visarea);
subdevice<gfxdecode_device>("gfxdecode")->set_info(spec128);
diff --git a/src/mame/drivers/spectrum.cpp b/src/mame/drivers/spectrum.cpp
index b13b8f7b287..4027e4d4bd8 100644
--- a/src/mame/drivers/spectrum.cpp
+++ b/src/mame/drivers/spectrum.cpp
@@ -796,7 +796,9 @@ void spectrum_state::spectrum_common(machine_config &config)
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_raw(X1 / 2, 448, 312, {get_screen_area().left() - 48, get_screen_area().right() + 48, get_screen_area().top() - 48, get_screen_area().bottom() + 56});
+ rectangle visarea = { get_screen_area().left() - SPEC_LEFT_BORDER, get_screen_area().right() + SPEC_RIGHT_BORDER,
+ get_screen_area().top() - SPEC_TOP_BORDER, get_screen_area().bottom() + SPEC_BOTTOM_BORDER };
+ m_screen->set_raw(X1 / 2, SPEC_CYCLES_PER_LINE * 2, SPEC_UNSEEN_LINES + SPEC_SCREEN_HEIGHT, visarea);
m_screen->set_screen_update(FUNC(spectrum_state::screen_update_spectrum));
m_screen->set_palette("palette");