From c82cd208c1717cb2e07d3011f52fc8b0aca58504 Mon Sep 17 00:00:00 2001 From: SarahW Date: Fri, 21 May 2021 22:15:21 +0100 Subject: [PATCH] CGA-class cards mirror CRTC between ports 3d0 and 3d7. Fixes scrolling in Prohibition. --- src/vid_cga.c | 4 ++-- src/vid_pc1512.c | 4 ++-- src/vid_tandy.c | 4 ++-- src/vid_tandysl.c | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/vid_cga.c b/src/vid_cga.c index 7a21b2f..a74f497 100644 --- a/src/vid_cga.c +++ b/src/vid_cga.c @@ -28,10 +28,10 @@ void cga_out(uint16_t addr, uint8_t val, void *p) // pclog("CGA_OUT %04X %02X\n", addr, val); switch (addr) { - case 0x3D4: + case 0x3d0: case 0x3d2: case 0x3d4: case 0x3d6: cga->crtcreg = val & 31; return; - case 0x3D5: + case 0x3d1: case 0x3d3: case 0x3d5: case 0x3d7: old = cga->crtc[cga->crtcreg]; cga->crtc[cga->crtcreg] = val & crtcmask[cga->crtcreg]; if (old != val) diff --git a/src/vid_pc1512.c b/src/vid_pc1512.c index 3c962d0..35ffa20 100644 --- a/src/vid_pc1512.c +++ b/src/vid_pc1512.c @@ -58,10 +58,10 @@ static void pc1512_out(uint16_t addr, uint8_t val, void *p) // pclog("PC1512 out %04X %02X %04X:%04X\n",addr,val,CS,pc); switch (addr) { - case 0x3d4: + case 0x3d0: case 0x3d2: case 0x3d4: case 0x3d6: pc1512->crtcreg = val & 31; return; - case 0x3d5: + case 0x3d1: case 0x3d3: case 0x3d5: case 0x3d7: old = pc1512->crtc[pc1512->crtcreg]; pc1512->crtc[pc1512->crtcreg] = val & crtcmask[pc1512->crtcreg]; if (old != val) diff --git a/src/vid_tandy.c b/src/vid_tandy.c index d2cd49a..1b07f27 100644 --- a/src/vid_tandy.c +++ b/src/vid_tandy.c @@ -60,10 +60,10 @@ void tandy_out(uint16_t addr, uint8_t val, void *p) // pclog("Tandy OUT %04X %02X\n",addr,val); switch (addr) { - case 0x3d4: + case 0x3d0: case 0x3d2: case 0x3d4: case 0x3d6: tandy->crtcreg = val & 0x1f; return; - case 0x3d5: + case 0x3d1: case 0x3d3: case 0x3d5: case 0x3d7: old = tandy->crtc[tandy->crtcreg]; tandy->crtc[tandy->crtcreg] = val & crtcmask[tandy->crtcreg]; if (old != val) diff --git a/src/vid_tandysl.c b/src/vid_tandysl.c index 2a521b0..1119f14 100644 --- a/src/vid_tandysl.c +++ b/src/vid_tandysl.c @@ -60,10 +60,10 @@ static void tandysl_out(uint16_t addr, uint8_t val, void *p) // pclog("TandySL OUT %04X %02X\n",addr,val); switch (addr) { - case 0x3d4: + case 0x3d0: case 0x3d2: case 0x3d4: case 0x3d6: tandy->crtcreg = val & 0x1f; return; - case 0x3d5: + case 0x3d1: case 0x3d3: case 0x3d5: case 0x3d7: // pclog("Write CRTC R%02x %02x ",tandy->crtcreg, val); old = tandy->crtc[tandy->crtcreg]; tandy->crtc[tandy->crtcreg] = val & crtcmask[tandy->crtcreg];