diff --git a/src/chipset/acc2036.c b/src/chipset/acc2036.c index 225c22813..3984f82e0 100644 --- a/src/chipset/acc2036.c +++ b/src/chipset/acc2036.c @@ -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; diff --git a/src/device/kbc_at.c b/src/device/kbc_at.c index 1338b9555..d19b08f84 100644 --- a/src/device/kbc_at.c +++ b/src/device/kbc_at.c @@ -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; diff --git a/src/video/vid_oak_oti.c b/src/video/vid_oak_oti.c index 3233f9d00..3ea935b06 100644 --- a/src/video/vid_oak_oti.c +++ b/src/video/vid_oak_oti.c @@ -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;