s3: made ID registers read from member variables (no whatsnew)

This commit is contained in:
mahlemiut 2013-03-30 03:32:46 +00:00
parent 3f3b7d4456
commit 06bca110f9
2 changed files with 14 additions and 5 deletions

View File

@ -273,6 +273,11 @@ void s3_vga_device::device_start()
s3.cursor_bg[x] = 0x00;
}
m_8514 = subdevice<ibm8514a_device>("8514a");
// set device ID
s3.id_high = 0x88; // CR2D
s3.id_low = 0x11; // CR2E
s3.revision = 0x00; // CR2F
s3.id_cr30 = 0xc0; // CR30
}
void tseng_vga_device::device_start()
@ -2651,17 +2656,16 @@ UINT8 s3_vga_device::s3_crtc_reg_read(UINT8 index)
switch(index)
{
case 0x2d:
res = 0x88; // always?
res = s3.id_high;
break;
case 0x2e:
res = 0x11; // Trio64
res = s3.id_low;
break;
case 0x2f:
res = 0x00;
res = s3.revision;
break;
case 0x30: // CR30 Chip ID/REV register
//res = 0xe1; // BIOS is from a card with the 764 chipset (Trio64), should be 0xe0 or 0xe1, but the Vision 330 driver in win95 doesn't like that
res = 0xc0; // But win95 wants this...
res = s3.id_cr30;
break;
case 0x31:
res = s3.memory_config;
@ -2715,6 +2719,7 @@ UINT8 s3_vga_device::s3_crtc_reg_read(UINT8 index)
break;
case 0x51:
res = (vga.crtc.start_addr_latch & 0x0c0000) >> 18;
res |= ((svga.bank_w & 0x30) >> 2);
break;
case 0x55:
res = s3.extended_dac_ctrl;

View File

@ -547,6 +547,10 @@ protected:
UINT8 enable_8514;
UINT8 cr42;
UINT8 cr53;
UINT8 id_high;
UINT8 id_low;
UINT8 revision;
UINT8 id_cr30;
// data for memory-mapped I/O
UINT16 mmio_9ae8;