UM866x: Don't check nonexistent C1h register on 862, fixes missing LPT port on PB300 and CAF C747

This commit is contained in:
win2kgamer
2025-08-30 21:34:00 -05:00
parent 834c745459
commit 7e31741af4

View File

@@ -108,25 +108,27 @@ um866x_lpt_handler(um866x_t *dev)
int enabled = (dev->regs[0] & 0x08);
lpt_port_remove(dev->lpt);
switch(dev->regs[1] & 0xc0) {
case 0x00:
enabled = 0;
break;
case 0x40:
lpt_set_epp(dev->lpt, 1);
lpt_set_ecp(dev->lpt, 0);
lpt_set_ext(dev->lpt, 0);
break;
case 0x80:
lpt_set_epp(dev->lpt, 0);
lpt_set_ecp(dev->lpt, 0);
lpt_set_ext(dev->lpt, 1);
break;
case 0xc0:
lpt_set_epp(dev->lpt, 0);
lpt_set_ecp(dev->lpt, 1);
lpt_set_ext(dev->lpt, 0);
break;
if (dev->max_reg != 0x00) {
switch(dev->regs[1] & 0xc0) {
case 0x00:
enabled = 0;
break;
case 0x40:
lpt_set_epp(dev->lpt, 1);
lpt_set_ecp(dev->lpt, 0);
lpt_set_ext(dev->lpt, 0);
break;
case 0x80:
lpt_set_epp(dev->lpt, 0);
lpt_set_ecp(dev->lpt, 0);
lpt_set_ext(dev->lpt, 1);
break;
case 0xc0:
lpt_set_epp(dev->lpt, 0);
lpt_set_ecp(dev->lpt, 1);
lpt_set_ext(dev->lpt, 0);
break;
}
}
if (enabled) {
switch ((dev->regs[1] >> 3) & 0x01) {