CGA-class cards mirror CRTC between ports 3d0 and 3d7. Fixes scrolling
in Prohibition.
This commit is contained in:
parent
5fb1e464f0
commit
c82cd208c1
4 changed files with 8 additions and 8 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
|
|
|
|||
Loading…
Reference in a new issue