mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
s3: added configuration registers for Trio/Virge chipsets. Are read-only for now. (no whatsnew)
This commit is contained in:
parent
d18d514e4e
commit
e013e80064
@ -111,6 +111,18 @@ UINT8 s3virge_vga_device::s3_crtc_reg_read(UINT8 index)
|
||||
case 0x35:
|
||||
res = s3.crt_reg_lock;
|
||||
break;
|
||||
case 0x36: // Configuration register 1
|
||||
res = 0x12; // PCI (not really), 1-cycle EDO
|
||||
if(vga.svga_intf.vram_size == 0x200000)
|
||||
res |= 0x80;
|
||||
else if(vga.svga_intf.vram_size == 0x400000)
|
||||
res |= 0x00;
|
||||
else
|
||||
res |= 0x80; // shouldn't get here...
|
||||
break;
|
||||
case 0x37: // Configuration register 2
|
||||
res = 0x09; // enable chipset, 64k BIOS size, internal DCLK/MCLK
|
||||
break;
|
||||
case 0x38:
|
||||
res = s3.reg_lock1;
|
||||
break;
|
||||
@ -175,12 +187,18 @@ UINT8 s3virge_vga_device::s3_crtc_reg_read(UINT8 index)
|
||||
case 0x67:
|
||||
res = s3.ext_misc_ctrl_2;
|
||||
break;
|
||||
case 0x68: // Configuration register 3
|
||||
res = 0x03; // no /CAS,/OE stretch time
|
||||
break;
|
||||
case 0x69:
|
||||
res = vga.crtc.start_addr_latch >> 16;
|
||||
break;
|
||||
case 0x6a:
|
||||
res = svga.bank_r & 0x7f;
|
||||
break;
|
||||
case 0x6f: // Configuration register 4
|
||||
res = 0x18; // Serial port I/O at port 0xe8, Serial port I/O disabled (MMIO only), no /WE delay
|
||||
break;
|
||||
default:
|
||||
res = vga.crtc.data[index];
|
||||
//debugger_break(machine);
|
||||
|
@ -2758,6 +2758,22 @@ UINT8 s3_vga_device::s3_crtc_reg_read(UINT8 index)
|
||||
case 0x35:
|
||||
res = s3.crt_reg_lock;
|
||||
break;
|
||||
case 0x36: // Configuration register 1
|
||||
res = 0x1e; // PCI (not really), Fast Page Mode DRAM
|
||||
if(vga.svga_intf.vram_size == 0x80000)
|
||||
res |= 0xe0;
|
||||
else if(vga.svga_intf.vram_size == 0x100000)
|
||||
res |= 0xd0;
|
||||
else if(vga.svga_intf.vram_size == 0x200000)
|
||||
res |= 0x80;
|
||||
else if(vga.svga_intf.vram_size == 0x400000)
|
||||
res |= 0x00;
|
||||
else
|
||||
res |= 0xe0; // shouldn't get here...
|
||||
break;
|
||||
case 0x37: // Configuration register 2
|
||||
res = 0x09; // enable chipset, 64k BIOS size, internal DCLK/MCLK
|
||||
break;
|
||||
case 0x38:
|
||||
res = s3.reg_lock1;
|
||||
break;
|
||||
@ -2823,12 +2839,18 @@ UINT8 s3_vga_device::s3_crtc_reg_read(UINT8 index)
|
||||
case 0x67:
|
||||
res = s3.ext_misc_ctrl_2;
|
||||
break;
|
||||
case 0x68: // Configuration register 3
|
||||
res = 0x03; // no /CAS,/OE stretch time, 32-bit data bus size
|
||||
break;
|
||||
case 0x69:
|
||||
res = vga.crtc.start_addr_latch >> 16;
|
||||
break;
|
||||
case 0x6a:
|
||||
res = svga.bank_r & 0x7f;
|
||||
break;
|
||||
case 0x6f: // Configuration register 4
|
||||
res = 0x18; // LPB(?) mode, Serial port I/O at port 0xe8, Serial port I/O disabled (MMIO only), no WE delay
|
||||
break;
|
||||
default:
|
||||
res = vga.crtc.data[index];
|
||||
//debugger_break(machine);
|
||||
|
Loading…
Reference in New Issue
Block a user