diff options
| author | 2021-06-19 21:58:53 -0500 | |
|---|---|---|
| committer | 2021-06-19 21:58:53 -0500 | |
| commit | ec687c94a03c80896e1553135f76ead5ebda312f (patch) | |
| tree | 29ebcadb1b893157d977be930760d26fb472ad5b | |
| parent | 553042e2b610313369e0432abbf26d23406335a6 (diff) | |
fmtowns: make sure programs can't override the sprite page
| -rw-r--r-- | src/mame/video/fmtowns.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mame/video/fmtowns.cpp b/src/mame/video/fmtowns.cpp index 124b404be7f..34b912b54f9 100644 --- a/src/mame/video/fmtowns.cpp +++ b/src/mame/video/fmtowns.cpp @@ -461,6 +461,12 @@ void towns_state::towns_video_440_w(offs_t offset, uint8_t data) break; case 0x03: // logerror("CRTC: writing register %i (0x443) [%02x]\n",towns_crtc_sel,data); + if((m_video.towns_crtc_sel == 21) && (m_video.towns_sprite_reg[1] & 0x80)) + { + m_video.towns_crtc_reg[m_video.towns_crtc_sel] = + (m_video.towns_crtc_reg[m_video.towns_crtc_sel] & 0x80ff) | ((data & 0x7f) << 8); + return; + } m_video.towns_crtc_reg[m_video.towns_crtc_sel] = (m_video.towns_crtc_reg[m_video.towns_crtc_sel] & 0x00ff) | (data << 8); towns_crtc_refresh_mode(); |
