More hardcoding fixes
This commit is contained in:
@@ -90,27 +90,27 @@ static void
|
||||
lpt1_handler(pc87306_t *dev)
|
||||
{
|
||||
int temp;
|
||||
uint16_t lptba, lpt_port = 0x378;
|
||||
uint8_t lpt_irq = 5;
|
||||
uint16_t lptba, lpt_port = LPT1_ADDR;
|
||||
uint8_t lpt_irq = LPT2_IRQ;
|
||||
|
||||
temp = dev->regs[0x01] & 3;
|
||||
lptba = ((uint16_t) dev->regs[0x19]) << 2;
|
||||
|
||||
switch (temp) {
|
||||
case 0:
|
||||
lpt_port = 0x378;
|
||||
lpt_irq = (dev->regs[0x02] & 0x08) ? 7 : 5;
|
||||
lpt_port = LPT1_ADDR;
|
||||
lpt_irq = (dev->regs[0x02] & 0x08) ? LPT1_IRQ : LPT2_IRQ;
|
||||
break;
|
||||
case 1:
|
||||
if (dev->regs[0x1b] & 0x40)
|
||||
lpt_port = lptba;
|
||||
else
|
||||
lpt_port = 0x3bc;
|
||||
lpt_irq = 7;
|
||||
lpt_port = LPT_MDA_ADDR;
|
||||
lpt_irq = LPT_MDA_IRQ;
|
||||
break;
|
||||
case 2:
|
||||
lpt_port = 0x278;
|
||||
lpt_irq = 5;
|
||||
lpt_port = LPT2_ADDR;
|
||||
lpt_irq = LPT2_IRQ;
|
||||
break;
|
||||
case 3:
|
||||
lpt_port = 0x000;
|
||||
@@ -149,21 +149,21 @@ serial_handler(pc87306_t *dev, int uart)
|
||||
|
||||
switch (temp) {
|
||||
case 0:
|
||||
serial_setup(dev->uart[uart], SERIAL1_ADDR, irq);
|
||||
serial_setup(dev->uart[uart], COM1_ADDR, irq);
|
||||
break;
|
||||
case 1:
|
||||
serial_setup(dev->uart[uart], SERIAL2_ADDR, irq);
|
||||
serial_setup(dev->uart[uart], COM2_ADDR, irq);
|
||||
break;
|
||||
case 2:
|
||||
switch ((dev->regs[1] >> 6) & 3) {
|
||||
case 0:
|
||||
serial_setup(dev->uart[uart], 0x3e8, irq);
|
||||
serial_setup(dev->uart[uart], COM3_ADDR, irq);
|
||||
break;
|
||||
case 1:
|
||||
serial_setup(dev->uart[uart], 0x338, irq);
|
||||
break;
|
||||
case 2:
|
||||
serial_setup(dev->uart[uart], 0x2e8, irq);
|
||||
serial_setup(dev->uart[uart], COM4_ADDR, irq);
|
||||
break;
|
||||
case 3:
|
||||
serial_setup(dev->uart[uart], 0x220, irq);
|
||||
@@ -173,7 +173,7 @@ serial_handler(pc87306_t *dev, int uart)
|
||||
case 3:
|
||||
switch ((dev->regs[1] >> 6) & 3) {
|
||||
case 0:
|
||||
serial_setup(dev->uart[uart], 0x2e8, irq);
|
||||
serial_setup(dev->uart[uart], COM4_ADDR, irq);
|
||||
break;
|
||||
case 1:
|
||||
serial_setup(dev->uart[uart], 0x238, irq);
|
||||
|
||||
Reference in New Issue
Block a user