diff --git a/src/machine/m_tandy.c b/src/machine/m_tandy.c index 6c478b37a..bc20a4510 100644 --- a/src/machine/m_tandy.c +++ b/src/machine/m_tandy.c @@ -864,7 +864,23 @@ vid_in(uint16_t addr, void *priv) break; case 0x03d5: - ret = vid->crtc[vid->crtcreg]; + switch (vid->crtcreg) { + default: + ret = vid->crtc[vid->crtcreg]; + break; + case 0x10: + if (dev->is_sl2) + ret = vid->crtc[vid->crtcreg]; + else + ret = 0x0f; + break; + case 0x11: + if (dev->is_sl2) + ret = vid->crtc[vid->crtcreg]; + else + ret = 0x78; + break; + } break; case 0x03da: diff --git a/src/video/vid_cga.c b/src/video/vid_cga.c index 2ea07c346..b5590c2c0 100644 --- a/src/video/vid_cga.c +++ b/src/video/vid_cga.c @@ -131,7 +131,17 @@ cga_in(uint16_t addr, void *priv) ret = cga->crtcreg; break; case 0x3D5: - ret = cga->crtc[cga->crtcreg]; + switch (cga->crtcreg) { + default: + ret = cga->crtc[cga->crtcreg]; + break; + case 0x10: + ret = 0x0f; + break; + case 0x11: + ret = 0x78; + break; + } break; case 0x3DA: ret = cga->cgastat;