diff options
| author | 2025-11-11 04:42:04 -0800 | |
|---|---|---|
| committer | 2025-11-11 07:42:04 -0500 | |
| commit | 2fdf69267df06827f4fd47a90f3e58b29cc119a4 (patch) | |
| tree | bbceb0a079969025538b5413ac1cf62a8f76e82e | |
| parent | 7a4c1687bf7481788c87ab02a1432d8c985062b5 (diff) | |
trs/coco3.cpp: enable GIME vertical text scroll register (#14503)
| -rw-r--r-- | src/mame/trs/gime.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mame/trs/gime.cpp b/src/mame/trs/gime.cpp index 7c218644331..484deaf13b1 100644 --- a/src/mame/trs/gime.cpp +++ b/src/mame/trs/gime.cpp @@ -1238,7 +1238,11 @@ void gime_device::new_frame() /* latch in the video position */ m_video_position = get_video_base(); - m_line_in_row = m_gime_registers[0x0C] & 0x0F; + + /* latch in the vertical scroll position */ + m_line_in_row = m_gime_registers[0x00] & 0x80 ? 0 : m_gime_registers[0x0C] & 0x0F; + if (m_line_in_row >= get_lines_per_row()) + m_line_in_row = 0; /* update the geometry, as appropriate */ if (legacy_video_changed) @@ -1312,7 +1316,6 @@ void gime_device::update_border(uint16_t physical_scanline) void gime_device::record_border_scanline(uint16_t physical_scanline) { - m_line_in_row = 0; update_border(physical_scanline); update_value(&m_scanlines[physical_scanline].m_line_in_row, uint8_t(~0)); } |
