summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2018-07-21 22:36:49 +1000
committer Robbbert <Robbbert@users.noreply.github.com>2018-07-21 22:36:49 +1000
commit10f9ec6fcc71b7ed498ce2e825c1b83ee0f53eec (patch)
tree863d195599e272054ea8ac10fe90d84015812651
parent06ee590873007baa13ea1b1c5ae256f0788a5372 (diff)
(nw) trs80m3 : fixed a small bug
-rw-r--r--src/mame/machine/trs80m3.cpp4
-rw-r--r--src/mame/video/trs80m3.cpp13
2 files changed, 12 insertions, 5 deletions
diff --git a/src/mame/machine/trs80m3.cpp b/src/mame/machine/trs80m3.cpp
index 01d8ce05ecc..50ed486a217 100644
--- a/src/mame/machine/trs80m3.cpp
+++ b/src/mame/machine/trs80m3.cpp
@@ -354,9 +354,9 @@ WRITE8_MEMBER( trs80m3_state::port_ec_w )
m_maincpu->set_unscaled_clock(data & 0x40 ? MODEL4_MASTER_CLOCK/5 : MODEL4_MASTER_CLOCK/10);
- m_mode = (m_mode & 0xde) | ((data & 4) ? 1 : 0) | ((data & 8) ? 0x20 : 0);
+ m_mode = (m_mode & 0xde) | (BIT(data, 2) ? 1 : 0) | (BIT(data, 3) ? 0x20 : 0);
- m_cassette->change_state(( data & 2 ) ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED,CASSETTE_MASK_MOTOR );
+ m_cassette->change_state(( data & 2 ) ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED, CASSETTE_MASK_MOTOR );
m_port_ec = data & 0x7e;
}
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);
}