PCem
changeset 159:7dbd14c4adac
Restricted available range of attribute and sequencer registers on ViRGE, XFree86 now detects card correctly.
| author | TomW |
|---|---|
| date | Thu Sep 18 21:14:15 2014 +0100 |
| parents | 153d673e767a |
| children | 5bddbc972079 |
| files | src/vid_s3_virge.c |
| diffstat | 1 files changed, 10 insertions(+), 2 deletions(-) [+] |
line diff
1.1 --- a/src/vid_s3_virge.c Wed Sep 17 21:50:57 2014 +0100 1.2 +++ b/src/vid_s3_virge.c Thu Sep 18 21:14:15 2014 +0100 1.3 @@ -383,15 +383,23 @@ 1.4 // if (addr != 0x3da) pclog("S3 in %04X %04X:%08X ", addr, CS, pc); 1.5 switch (addr) 1.6 { 1.7 + case 0x3c1: 1.8 + if (svga->attraddr > 0x14) 1.9 + ret = 0xff; 1.10 + else 1.11 + ret = svga_in(addr, svga); 1.12 + break; 1.13 //case 0x3C6: case 0x3C7: case 0x3C8: case 0x3C9: 1.14 // pclog("Read RAMDAC %04X %04X:%04X\n", addr, CS, pc); 1.15 //return sdac_ramdac_in(addr); 1.16 1.17 case 0x3c5: 1.18 - if (svga->seqaddr >= 0x10) 1.19 + if (svga->seqaddr >= 8) 1.20 ret = svga->seqregs[svga->seqaddr & 0x1f]; 1.21 + else if (svga->seqaddr <= 4) 1.22 + ret = svga_in(addr, svga); 1.23 else 1.24 - ret = svga_in(addr, svga); 1.25 + ret = 0xff; 1.26 break; 1.27 1.28 case 0x3D4:
