Assorted ACC 2036 and OAK OTi-037 fixes, fixes #5697.
This commit is contained in:
@@ -158,7 +158,7 @@ acc2036_recalc(acc2036_t *dev)
|
||||
/* 0E0000-0FFFFF */
|
||||
master_write = dev->regs[0x02] & 0x02;
|
||||
master_read = dev->regs[0x02] & 0x01;
|
||||
bit = (((i - 8) >> 2) + 2);
|
||||
bit = ((i - 8) >> 2);
|
||||
val = dev->regs[0x0c] & (1 << bit);
|
||||
if (i >= 20) {
|
||||
ew_flag = MEM_WRITE_EXTANY;
|
||||
|
||||
@@ -1817,8 +1817,6 @@ read_p1(atkbc_t *dev)
|
||||
Compaq: Reserved;
|
||||
NCR: DMA mode.
|
||||
*/
|
||||
kbc_at_log("ATkbc: read P1\n");
|
||||
|
||||
fixed_bits = 4;
|
||||
|
||||
/* The SMM handlers of Intel AMI Pentium BIOS'es expect bit 6 to be set. */
|
||||
@@ -2108,7 +2106,7 @@ kbc_at_process_cmd(void *priv)
|
||||
break;
|
||||
|
||||
case 0xc0: /* read P1 */
|
||||
kbc_at_log("ATkbc: read P2\n");
|
||||
kbc_at_log("ATkbc: read P1\n");
|
||||
kbc_delay_to_ob(dev, read_p1(dev), 0, 0x00);
|
||||
break;
|
||||
|
||||
|
||||
@@ -55,6 +55,7 @@ typedef struct {
|
||||
rom_t bios_rom;
|
||||
|
||||
int index;
|
||||
int en_map;
|
||||
uint8_t regs[32];
|
||||
|
||||
uint8_t chip_id;
|
||||
@@ -88,6 +89,12 @@ oti_out(uint16_t addr, uint8_t val, void *priv)
|
||||
case 0x3c3:
|
||||
if (!oti->chip_id) {
|
||||
oti->enable_register = val & 1;
|
||||
if ((val & 0x01) && oti->en_map)
|
||||
mem_mapping_enable(&svga->mapping);
|
||||
else if (!(val & 0x01)) {
|
||||
oti->en_map = svga->mapping.enable;
|
||||
mem_mapping_disable(&svga->mapping);
|
||||
}
|
||||
return;
|
||||
}
|
||||
svga_out(addr, val, svga);
|
||||
@@ -245,11 +252,14 @@ oti_in(uint16_t addr, void *priv)
|
||||
case 0x3c8:
|
||||
case 0x3c9:
|
||||
if (oti->chip_id == OTI_077 || oti->chip_id == OTI_077_ACER100T)
|
||||
return sc1148x_ramdac_in(addr, 0, svga->ramdac, svga);
|
||||
return svga_in(addr, svga);
|
||||
temp = sc1148x_ramdac_in(addr, 0, svga->ramdac, svga);
|
||||
else
|
||||
temp = svga_in(addr, svga);
|
||||
break;
|
||||
|
||||
case 0x3CF:
|
||||
return svga->gdcreg[svga->gdcaddr & 0xf];
|
||||
temp = svga->gdcreg[svga->gdcaddr & 0xf];
|
||||
break;
|
||||
|
||||
case 0x3d4:
|
||||
temp = svga->crtcreg;
|
||||
|
||||
Reference in New Issue
Block a user