diff options
author | 2015-11-04 13:21:07 +1300 | |
---|---|---|
committer | 2015-11-04 13:22:41 +1300 | |
commit | 91debc7cc9177d440172b6f25e5bf0f5bb7cc07b (patch) | |
tree | 9762db6e09b5c396fdffcc9a545e8dc53f9bf569 | |
parent | 54a6d912498078f04e2b75aa89ad6f9160bc707f (diff) |
amstrad: CRTC status register is only readable on type 1 (UM6845R). Now returns 0xff on CPC (correct for MC6845) and the selected register for the Plus.
-rw-r--r-- | src/mame/machine/amstrad.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mame/machine/amstrad.c b/src/mame/machine/amstrad.c index a59b7f8de56..ce5bad2335f 100644 --- a/src/mame/machine/amstrad.c +++ b/src/mame/machine/amstrad.c @@ -1855,7 +1855,12 @@ READ8_MEMBER(amstrad_state::amstrad_cpc_io_r) switch(r1r0) { case 0x02: - data = m_crtc->status_r( space, 0 ); + // CRTC Type 1 (UM6845R) only!! + //data = m_crtc->status_r( space, 0 ); + if ( m_system_type == SYSTEM_PLUS || m_system_type == SYSTEM_GX4000 ) // All Plus systems are Type 3 (AMS40489) + data = m_crtc->register_r( space, 0 ); + else + data = 0xff; // Type 0 (HD6845S/UM6845) and Type 2 (MC6845) return 0xff #if 0 /* CRTC Type 1 : Read Status Register CRTC Type 3 or 4 : Read from selected internal 6845 register */ @@ -1874,7 +1879,7 @@ READ8_MEMBER(amstrad_state::amstrad_cpc_io_r) break; case 0x03: /* All CRTC type : Read from selected internal 6845 register Read only */ - data = m_crtc->register_r( space, (offs_t)0 ); + data = m_crtc->register_r( space, 0 ); break; } } |