Assorted ACC 2036 and OAK OTi-037 fixes, fixes #5697.

This commit is contained in:
OBattler
2025-06-25 04:45:40 +02:00
parent 6a8eaf507c
commit 2e4eed0ac0
3 changed files with 15 additions and 7 deletions

View File

@@ -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;