summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/video/scn2674.cpp
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2018-03-08 20:58:23 -0500
committer AJR <ajrhacker@users.noreply.github.com>2018-03-08 20:58:26 -0500
commit98db2721c548d0a598904244403c356a40ff2ece (patch)
treeeb37a43fcf4829cdca3b1d978b8bcf9fda6222cf /src/devices/video/scn2674.cpp
parentb867aeded5c64acdd7f340448633ec72dfdc742c (diff)
scn2674: Use same character width for text and graphics modes (nw)
This change has been made partly to bring the implementation in line with other character-based video devices. It is also consistent with the documented ability of the SCN2674 to combine text and graphics modes on the same screen, which rules out bitmap resolution changes.
Diffstat (limited to 'src/devices/video/scn2674.cpp')
-rw-r--r--src/devices/video/scn2674.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/devices/video/scn2674.cpp b/src/devices/video/scn2674.cpp
index fe3e8ab5df2..dd673866893 100644
--- a/src/devices/video/scn2674.cpp
+++ b/src/devices/video/scn2674.cpp
@@ -34,7 +34,7 @@ scn2674_device::scn2674_device(const machine_config &mconfig, const char *tag, d
, m_screen1_l(0), m_screen1_h(0), m_cursor_l(0), m_cursor_h(0), m_screen2_l(0), m_screen2_h(0)
, m_irq_register(0), m_status_register(0), m_irq_mask(0)
, m_gfx_enabled(0), m_display_enabled(0), m_display_enabled_field(0), m_display_enabled_scanline(0), m_cursor_enabled(0)
- , m_hpixels_per_column(0), m_text_hpixels_per_column(0), m_gfx_hpixels_per_column(0)
+ , m_hpixels_per_column(0)
, m_IR0_double_ht_wd(0), m_IR0_scanline_per_char_row(0), m_IR0_sync_select(0), m_IR0_buffer_mode_select(0)
, m_IR1_interlace_enable(0), m_IR1_equalizing_constant(0)
, m_IR2_row_table(0), m_IR2_horz_sync_width(0), m_IR2_horz_back_porch(0)
@@ -139,7 +139,6 @@ void scn2674_device::device_reset()
m_IR_pointer = 0;
m_address = 0;
m_start1change = 0;
- m_hpixels_per_column = m_text_hpixels_per_column;
}
// 15 Initialization Registers (8-bit each)
@@ -342,6 +341,8 @@ void scn2674_device::write_command(uint8_t data)
/* Enable GFX */
LOGMASKED(LOG_COMMAND, "enable GFX %02x\n",data);
m_gfx_enabled = 1;
+
+ // FIXME: this takes effect at next character row
recompute_parameters();
}
@@ -640,7 +641,6 @@ WRITE8_MEMBER( scn2674_device::write )
void scn2674_device::recompute_parameters()
{
- m_hpixels_per_column = m_gfx_enabled ? m_gfx_hpixels_per_column : m_text_hpixels_per_column;
int horiz_pix_total = ((m_IR1_equalizing_constant + (m_IR2_horz_sync_width << 1)) << 1) * m_hpixels_per_column;
int vert_pix_total = m_IR4_rows_per_screen * m_IR0_scanline_per_char_row + m_IR3_vert_front_porch + m_IR3_vert_back_porch + m_IR7_vsync_width;
attoseconds_t refresh = screen().frame_period().attoseconds();