summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/trs80m3.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/trs80m3.cpp')
-rw-r--r--src/mame/video/trs80m3.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/mame/video/trs80m3.cpp b/src/mame/video/trs80m3.cpp
index 5bf75c72651..37b10716ee3 100644
--- a/src/mame/video/trs80m3.cpp
+++ b/src/mame/video/trs80m3.cpp
@@ -6,6 +6,13 @@
#include "includes/trs80m3.h"
#include "screen.h"
+/* Bit assignment for "m_mode"
+ d7 Page select
+ d5 enable alternate character set
+ d3 Invert characters with bit 7 set (1=invert)
+ d2 80/40 or 64/32 characters per line (1=80)
+ d0 80/64 or 40/32 characters per line (1=32) */
+
WRITE8_MEMBER( trs80m3_state::port_88_w )
{
/* This is for the programming of the CRTC registers.
@@ -41,15 +48,15 @@ uint32_t trs80m3_state::screen_update_trs80m3(screen_device &screen, bitmap_ind1
uint8_t s_cols = cols;
uint8_t mask = BIT(m_mode, 5) ? 0xff : 0xbf; /* Select Japanese or extended chars */
- if (m_mode & 1)
+ if (BIT(m_mode, 0))
{
s_cols >>= 1;
skip = 2;
}
- if ((m_mode & 0x7f) != m_size_store)
+ if (m_mode != m_size_store)
{
- m_size_store = m_mode & 5;
+ m_size_store = m_mode;
screen.set_visible_area(0, s_cols*8-1, 0, rows*lines-1);
}