Implemented 256kb wrapping on S3 cards.

This commit is contained in:
TomW 2014-11-05 18:17:39 +00:00
commit 17cae8a2d7
2 changed files with 7 additions and 3 deletions

View file

@ -152,7 +152,9 @@ void s3_out(uint16_t addr, uint8_t val, void *p)
{ {
case 0x31: case 0x31:
s3->ma_ext = (s3->ma_ext & 0x1c) | ((val & 0x30) >> 4); s3->ma_ext = (s3->ma_ext & 0x1c) | ((val & 0x30) >> 4);
svga->vrammask = /*(val & 8) ? */s3->vram_mask/* : 0x3ffff*/; break;
case 0x32:
svga->vrammask = (val & 0x40) ? 0x3ffff : s3->vram_mask;
break; break;
case 0x50: case 0x50:

View file

@ -291,7 +291,9 @@ static void s3_virge_out(uint16_t addr, uint8_t val, void *p)
{ {
case 0x31: case 0x31:
virge->ma_ext = (virge->ma_ext & 0x1c) | ((val & 0x30) >> 4); virge->ma_ext = (virge->ma_ext & 0x1c) | ((val & 0x30) >> 4);
svga->vrammask = (val & 8) ? 0x3fffff : 0x3ffff; break;
case 0x32:
svga->vrammask = (val & 0x40) ? 0x3ffff : ((virge->memory_size << 20) - 1);
break; break;
case 0x50: case 0x50: