From 41f1c2facd8f5e864da5f09776bcff9e48342821 Mon Sep 17 00:00:00 2001 From: Jasmine Iwanek Date: Wed, 9 Mar 2022 21:57:51 -0500 Subject: [PATCH] More hardcoding fixes --- src/config.c | 11 +++++---- src/device/serial.c | 10 ++++---- src/include/86box/config.h | 8 +++---- src/include/86box/lpt.h | 16 +++++++++++++ src/include/86box/serial.h | 16 ++++++------- src/lpt.c | 4 ++-- src/machine/m_at_commodore.c | 10 ++++---- src/machine/m_ps1.c | 12 +++++----- src/machine/m_ps2_isa.c | 12 +++++----- src/machine/m_ps2_mca.c | 42 +++++++++++++++++----------------- src/machine/m_xt_compaq.c | 4 ++-- src/sio/sio_82091aa.c | 24 ++++++++++---------- src/sio/sio_acc3221.c | 8 +++---- src/sio/sio_f82c710.c | 28 +++++++++++------------ src/sio/sio_fdc37c669.c | 20 ++++++++-------- src/sio/sio_fdc37c67x.c | 4 ++-- src/sio/sio_fdc37c6xx.c | 26 ++++++++++----------- src/sio/sio_fdc37c93x.c | 4 ++-- src/sio/sio_pc87306.c | 26 ++++++++++----------- src/sio/sio_pc87310.c | 14 ++++++------ src/sio/sio_pc87311.c | 34 ++++++++++++++-------------- src/sio/sio_pc87332.c | 36 ++++++++++++++--------------- src/sio/sio_prime3b.c | 21 +++++++++-------- src/sio/sio_um8669f.c | 12 +++++----- src/sio/sio_vt82c686.c | 4 ++-- src/sio/sio_w83787f.c | 44 ++++++++++++++++++------------------ src/sio/sio_w83877f.c | 12 +++++----- src/sio/sio_w83977f.c | 8 +++---- 28 files changed, 245 insertions(+), 225 deletions(-) diff --git a/src/config.c b/src/config.c index 84257c6e1..acf70d15a 100644 --- a/src/config.c +++ b/src/config.c @@ -2106,13 +2106,16 @@ config_load(void) video_fullscreen_first = 1; time_sync = TIME_SYNC_ENABLED; hdc_current = hdc_get_from_internal_name("none"); + serial_enabled[0] = 1; serial_enabled[1] = 1; - serial_enabled[2] = 0; - serial_enabled[3] = 0; + for (i = 2 ; i < SERIAL_MAX; i++) + serial_enabled[i] = 0; lpt_ports[0].enabled = 1; - lpt_ports[1].enabled = 0; - lpt_ports[2].enabled = 0; + + for (i = 1 ; i < PARALLEL_MAX; i++) + lpt_ports[i].enabled = 0; + for (i = 0; i < FDD_NUM; i++) { if (i < 2) fdd_set_type(i, 2); diff --git a/src/device/serial.c b/src/device/serial.c index cf3a84f00..b5644c669 100644 --- a/src/device/serial.c +++ b/src/device/serial.c @@ -685,13 +685,13 @@ serial_init(const device_t *info) dev->sd->serial = dev; serial_reset_port(dev); if (next_inst == 3) - serial_setup(dev, SERIAL4_ADDR, SERIAL4_IRQ); + serial_setup(dev, COM4_ADDR, COM4_IRQ); else if (next_inst == 2) - serial_setup(dev, SERIAL3_ADDR, SERIAL3_IRQ); + serial_setup(dev, COM3_ADDR, COM3_IRQ); else if ((next_inst == 1) || (info->flags & DEVICE_PCJR)) - serial_setup(dev, SERIAL2_ADDR, SERIAL2_IRQ); + serial_setup(dev, COM2_ADDR, COM2_IRQ); else if (next_inst == 0) - serial_setup(dev, SERIAL1_ADDR, SERIAL1_IRQ); + serial_setup(dev, COM1_ADDR, COM1_IRQ); /* Default to 1200,N,7. */ dev->dlab = 96; @@ -717,7 +717,7 @@ serial_set_next_inst(int ni) void serial_standalone_init(void) { - for ( ; next_inst < 4; ) + for ( ; next_inst < SERIAL_MAX; ) device_add_inst(&ns8250_device, next_inst + 1); }; diff --git a/src/include/86box/config.h b/src/include/86box/config.h index b630d0c80..41c9900ed 100644 --- a/src/include/86box/config.h +++ b/src/include/86box/config.h @@ -108,12 +108,12 @@ typedef struct { char network_host[520]; /* PCap device */ /* Ports category */ - char parallel_devices[3][32]; /* LPT device names */ + char parallel_devices[PARALLEL_MAX][32]; /* LPT device names */ #ifdef USE_SERIAL_DEVICES - char serial_devices[4][32]; /* Serial device names */ + char serial_devices[SERIAL_MAX][32]; /* Serial device names */ #endif - int serial_enabled[4], /* Serial ports 1 and 2 enabled */ - parallel_enabled[3]; /* LPT1, LPT2, LPT3 enabled */ + int serial_enabled[SERIAL_MAX], /* Serial ports 1, 2, 3, 4 enabled */ + parallel_enabled[PARALLEL_MAX]; /* LPT1, LPT2, LPT3, LPT4 enabled */ /* Other peripherals category */ int fdc_type, /* Floppy disk controller type */ diff --git a/src/include/86box/lpt.h b/src/include/86box/lpt.h index ae1a63388..b5b8d2699 100644 --- a/src/include/86box/lpt.h +++ b/src/include/86box/lpt.h @@ -1,6 +1,22 @@ #ifndef EMU_LPT_H # define EMU_LPT_H +#define LPT1_ADDR 0x0378 +#define LPT1_IRQ 7 +#define LPT2_ADDR 0x0278 +#define LPT2_IRQ 5 +// LPT 1 on machines when installed +#define LPT_MDA_ADDR 0x03bc +#define LPT_MDA_IRQ 7 +#define LPT4_ADDR 0x0268 +#define LPT4_IRQ 5 +/* +#define LPT5_ADDR 0x027c +#define LPT5_IRQ 7 +#define LPT6_ADDR 0x026c +#define LPT6_IRQ 5 +*/ + typedef struct { const char *name; diff --git a/src/include/86box/serial.h b/src/include/86box/serial.h index 7770ebb1b..3378a91b5 100644 --- a/src/include/86box/serial.h +++ b/src/include/86box/serial.h @@ -35,14 +35,14 @@ #define SERIAL_FIFO_SIZE 16 /* Default settings for the standard ports. */ -#define SERIAL1_ADDR 0x03f8 -#define SERIAL1_IRQ 4 -#define SERIAL2_ADDR 0x02f8 -#define SERIAL2_IRQ 3 -#define SERIAL3_ADDR 0x03e8 -#define SERIAL3_IRQ 4 -#define SERIAL4_ADDR 0x02e8 -#define SERIAL4_IRQ 3 +#define COM1_ADDR 0x03f8 +#define COM1_IRQ 4 +#define COM2_ADDR 0x02f8 +#define COM2_IRQ 3 +#define COM3_ADDR 0x03e8 +#define COM3_IRQ 4 +#define COM4_ADDR 0x02e8 +#define COM4_IRQ 3 struct serial_device_s; diff --git a/src/lpt.c b/src/lpt.c index fa8fa458f..bc82454bc 100644 --- a/src/lpt.c +++ b/src/lpt.c @@ -177,8 +177,8 @@ void lpt_init(void) { int i; - uint16_t default_ports[PARALLEL_MAX] = { 0x378, 0x278, 0x3bc, 0x268 }; /*, 0x27c, 0x26c }; */ - uint8_t default_irqs[PARALLEL_MAX] = { 7, 5, 7, 5 }; /* , 7, 5 }; */ + uint16_t default_ports[PARALLEL_MAX] = { LPT1_ADDR, LPT2_ADDR, LPT_MDA_ADDR, LPT4_ADDR }; + uint8_t default_irqs[PARALLEL_MAX] = { LPT1_IRQ, LPT2_IRQ, LPT_MDA_IRQ, LPT4_IRQ }; for (i = 0; i < PARALLEL_MAX; i++) { lpt_ports[i].addr = 0xffff; diff --git a/src/machine/m_at_commodore.c b/src/machine/m_at_commodore.c index 8aa75059f..f9afdd1ef 100644 --- a/src/machine/m_at_commodore.c +++ b/src/machine/m_at_commodore.c @@ -65,22 +65,22 @@ cbm_io_write(uint16_t port, uint8_t val, void *p) switch (val & 3) { case 1: - lpt1_init(0x3bc); + lpt1_init(LPT_MDA_ADDR); break; case 2: - lpt1_init(0x378); + lpt1_init(LPT1_ADDR); break; case 3: - lpt1_init(0x278); + lpt1_init(LPT2_ADDR); break; } switch (val & 0xc) { case 0x4: - serial_setup(cmd_uart, 0x2f8, 3); + serial_setup(cmd_uart, COM2_ADDR, COM2_IRQ); break; case 0x8: - serial_setup(cmd_uart, 0x3f8, 4); + serial_setup(cmd_uart, COM1_ADDR, COM1_IRQ); break; } } diff --git a/src/machine/m_ps1.c b/src/machine/m_ps1.c index e63ef6ff9..0b0182692 100644 --- a/src/machine/m_ps1.c +++ b/src/machine/m_ps1.c @@ -145,21 +145,21 @@ ps1_write(uint16_t port, uint8_t val, void *priv) serial_remove(ps->uart); if (val & 0x04) { if (val & 0x08) - serial_setup(ps->uart, SERIAL1_ADDR, SERIAL1_IRQ); + serial_setup(ps->uart, COM1_ADDR, COM1_IRQ); else - serial_setup(ps->uart, SERIAL2_ADDR, SERIAL2_IRQ); + serial_setup(ps->uart, COM2_ADDR, COM2_IRQ); } if (val & 0x10) { switch ((val >> 5) & 3) { case 0: - lpt1_init(0x3bc); + lpt1_init(LPT_MDA_ADDR); break; case 1: - lpt1_init(0x378); + lpt1_init(LPT1_ADDR); break; case 2: - lpt1_init(0x278); + lpt1_init(LPT2_ADDR); break; } } @@ -270,7 +270,7 @@ ps1_setup(int model) ps->uart = device_add_inst(&ns16450_device, 1); lpt1_remove(); - lpt1_init(0x3bc); + lpt1_init(LPT_MDA_ADDR); mem_remap_top(384); diff --git a/src/machine/m_ps2_isa.c b/src/machine/m_ps2_isa.c index 2604327ab..c39c4eb92 100644 --- a/src/machine/m_ps2_isa.c +++ b/src/machine/m_ps2_isa.c @@ -90,21 +90,21 @@ static void ps2_write(uint16_t port, uint8_t val, void *p) serial_remove(ps2_uart); if (val & 0x04) { if (val & 0x08) - serial_setup(ps2_uart, SERIAL1_ADDR, SERIAL1_IRQ); + serial_setup(ps2_uart, COM1_ADDR, COM1_IRQ); else - serial_setup(ps2_uart, SERIAL2_ADDR, SERIAL2_IRQ); + serial_setup(ps2_uart, COM2_ADDR, COM2_IRQ); } if (val & 0x10) { switch ((val >> 5) & 3) { case 0: - lpt1_init(0x3bc); + lpt1_init(LPT_MDA_ADDR); break; case 1: - lpt1_init(0x378); + lpt1_init(LPT1_ADDR); break; case 2: - lpt1_init(0x278); + lpt1_init(LPT2_ADDR); break; } } @@ -159,7 +159,7 @@ static void ps2board_init(void) ps2_uart = device_add_inst(&ns16450_device, 1); - lpt1_init(0x3bc); + lpt1_init(LPT_MDA_ADDR); memset(&ps2_hd, 0, sizeof(ps2_hd)); } diff --git a/src/machine/m_ps2_mca.c b/src/machine/m_ps2_mca.c index 36a0d7f0f..f74f03dad 100644 --- a/src/machine/m_ps2_mca.c +++ b/src/machine/m_ps2_mca.c @@ -359,22 +359,22 @@ static void model_50_write(uint16_t port, uint8_t val) if (val & 0x04) { if (val & 0x08) - serial_setup(ps2.uart, SERIAL1_ADDR, SERIAL1_IRQ); + serial_setup(ps2.uart, COM1_ADDR, COM1_IRQ); else - serial_setup(ps2.uart, SERIAL2_ADDR, SERIAL2_IRQ); + serial_setup(ps2.uart, COM2_ADDR, COM2_IRQ); } if (val & 0x10) { switch ((val >> 5) & 3) { case 0: - lpt1_init(0x3bc); + lpt1_init(LPT_MDA_ADDR); break; case 1: - lpt1_init(0x378); + lpt1_init(LPT1_ADDR); break; case 2: - lpt1_init(0x278); + lpt1_init(LPT2_ADDR); break; } } @@ -492,22 +492,22 @@ static void model_55sx_write(uint16_t port, uint8_t val) if (val & 0x04) { if (val & 0x08) - serial_setup(ps2.uart, SERIAL1_ADDR, SERIAL1_IRQ); + serial_setup(ps2.uart, COM1_ADDR, COM1_IRQ); else - serial_setup(ps2.uart, SERIAL2_ADDR, SERIAL2_IRQ); + serial_setup(ps2.uart, COM2_ADDR, COM2_IRQ); } if (val & 0x10) { switch ((val >> 5) & 3) { case 0: - lpt1_init(0x3bc); + lpt1_init(LPT_MDA_ADDR); break; case 1: - lpt1_init(0x378); + lpt1_init(LPT1_ADDR); break; case 2: - lpt1_init(0x278); + lpt1_init(LPT2_ADDR); break; } } @@ -552,22 +552,22 @@ static void model_70_type3_write(uint16_t port, uint8_t val) if (val & 0x04) { if (val & 0x08) - serial_setup(ps2.uart, SERIAL1_ADDR, SERIAL1_IRQ); + serial_setup(ps2.uart, COM1_ADDR, COM1_IRQ); else - serial_setup(ps2.uart, SERIAL2_ADDR, SERIAL2_IRQ); + serial_setup(ps2.uart, COM2_ADDR, COM2_IRQ); } if (val & 0x10) { switch ((val >> 5) & 3) { case 0: - lpt1_init(0x3bc); + lpt1_init(LPT_MDA_ADDR); break; case 1: - lpt1_init(0x378); + lpt1_init(LPT1_ADDR); break; case 2: - lpt1_init(0x278); + lpt1_init(LPT2_ADDR); break; } } @@ -608,22 +608,22 @@ static void model_80_write(uint16_t port, uint8_t val) if (val & 0x04) { if (val & 0x08) - serial_setup(ps2.uart, SERIAL1_ADDR, SERIAL1_IRQ); + serial_setup(ps2.uart, COM1_ADDR, COM1_IRQ); else - serial_setup(ps2.uart, SERIAL2_ADDR, SERIAL2_IRQ); + serial_setup(ps2.uart, COM2_ADDR, COM2_IRQ); } if (val & 0x10) { switch ((val >> 5) & 3) { case 0: - lpt1_init(0x3bc); + lpt1_init(LPT_MDA_ADDR); break; case 1: - lpt1_init(0x378); + lpt1_init(LPT1_ADDR); break; case 2: - lpt1_init(0x278); + lpt1_init(LPT2_ADDR); break; } } @@ -832,7 +832,7 @@ static void ps2_mca_board_common_init() ps2.setup = 0xff; - lpt1_init(0x3bc); + lpt1_init(LPT_MDA_ADDR); } static uint8_t ps2_mem_expansion_read(int port, void *p) diff --git a/src/machine/m_xt_compaq.c b/src/machine/m_xt_compaq.c index 5950ec3f9..bd355a161 100644 --- a/src/machine/m_xt_compaq.c +++ b/src/machine/m_xt_compaq.c @@ -59,7 +59,7 @@ machine_xt_compaq_deskpro_init(const machine_t *model) standalone_gameport_type = &gameport_device; lpt1_remove(); - lpt1_init(0x03bc); + lpt1_init(LPT_MDA_ADDR); return ret; } @@ -88,7 +88,7 @@ machine_xt_compaq_portable_init(const machine_t *model) device_add(&gameport_device); lpt1_remove(); - lpt1_init(0x03bc); + lpt1_init(LPT_MDA_ADDR); return ret; } diff --git a/src/sio/sio_82091aa.c b/src/sio/sio_82091aa.c index f266f0a40..72f6adacc 100644 --- a/src/sio/sio_82091aa.c +++ b/src/sio/sio_82091aa.c @@ -6,7 +6,7 @@ * * This file is part of the 86Box distribution. * - * Emulation of the Intel 82019AA Super I/O chip. + * Emulation of the Intel 82091AA Super I/O chip. * * * @@ -56,19 +56,19 @@ fdc_handler(i82091aa_t *dev) static void lpt1_handler(i82091aa_t *dev) { - uint16_t lpt_port = 0x378; + uint16_t lpt_port = LPT1_ADDR; lpt1_remove(); switch ((dev->regs[0x20] >> 1) & 0x03) { case 0x00: - lpt_port = 0x378; + lpt_port = LPT1_ADDR; break; case 1: - lpt_port = 0x278; + lpt_port = LPT2_ADDR; break; case 2: - lpt_port = 0x3bc; + lpt_port = LPT_MDA_ADDR; break; case 3: lpt_port = 0x000; @@ -78,7 +78,7 @@ lpt1_handler(i82091aa_t *dev) if ((dev->regs[0x20] & 0x01) && lpt_port) lpt1_init(lpt_port); - lpt1_irq((dev->regs[0x20] & 0x08) ? 7 : 5); + lpt1_irq((dev->regs[0x20] & 0x08) ? LPT1_IRQ : LPT2_IRQ); } @@ -86,16 +86,16 @@ static void serial_handler(i82091aa_t *dev, int uart) { int reg = (0x30 + (uart << 4)); - uint16_t uart_port = 0x3f8; + uint16_t uart_port = COM1_ADDR; serial_remove(dev->uart[uart]); switch ((dev->regs[reg] >> 1) & 0x07) { case 0x00: - uart_port = 0x3f8; + uart_port = COM1_ADDR; break; case 0x01: - uart_port = 0x2f8; + uart_port = COM2_ADDR; break; case 0x02: uart_port = 0x220; @@ -107,18 +107,18 @@ serial_handler(i82091aa_t *dev, int uart) uart_port = 0x238; break; case 0x05: - uart_port = 0x2e8; + uart_port = COM4_ADDR; break; case 0x06: uart_port = 0x338; break; case 0x07: - uart_port = 0x3e8; + uart_port = COM3_ADDR; break; } if (dev->regs[reg] & 0x01) - serial_setup(dev->uart[uart], uart_port, (dev->regs[reg] & 0x10) ? 4 : 3); + serial_setup(dev->uart[uart], uart_port, (dev->regs[reg] & 0x10) ? COM1_IRQ : COM2_IRQ); } diff --git a/src/sio/sio_acc3221.c b/src/sio/sio_acc3221.c index 77928a313..52500ad8b 100644 --- a/src/sio/sio_acc3221.c +++ b/src/sio/sio_acc3221.c @@ -435,14 +435,14 @@ static void acc3221_reset(acc3221_t *dev) { serial_remove(dev->uart[0]); - serial_setup(dev->uart[0], SERIAL1_ADDR, SERIAL1_IRQ); + serial_setup(dev->uart[0], COM1_ADDR, COM1_IRQ); serial_remove(dev->uart[1]); - serial_setup(dev->uart[1], SERIAL2_ADDR, SERIAL2_IRQ); + serial_setup(dev->uart[1], COM2_ADDR, COM2_IRQ); lpt1_remove(); - lpt1_init(0x378); - lpt1_irq(7); + lpt1_init(LPT1_ADDR); + lpt1_irq(LPT1_IRQ); fdc_reset(dev->fdc); } diff --git a/src/sio/sio_f82c710.c b/src/sio/sio_f82c710.c index 06d0bf800..786f16ddd 100644 --- a/src/sio/sio_f82c710.c +++ b/src/sio/sio_f82c710.c @@ -81,19 +81,19 @@ f82c710_update_ports(upc_t *dev, int set) if (dev->regs[0] & 4) { com_addr = dev->regs[4] * 4; - if (com_addr == SERIAL1_ADDR) - serial_setup(dev->uart[0], com_addr, 4); - else if (com_addr == SERIAL2_ADDR) - serial_setup(dev->uart[1], com_addr, 3); + if (com_addr == COM1_ADDR) + serial_setup(dev->uart[0], com_addr, COM1_IRQ); + else if (com_addr == COM2_ADDR) + serial_setup(dev->uart[1], com_addr, COM2_IRQ); } if (dev->regs[0] & 8) { lpt_addr = dev->regs[6] * 4; lpt1_init(lpt_addr); - if ((lpt_addr == 0x378) || (lpt_addr == 0x3bc)) - lpt1_irq(7); - else if (lpt_addr == 0x278) - lpt1_irq(5); + if ((lpt_addr == LPT1_ADDR) || (lpt_addr == LPT_MDA_ADDR)) + lpt1_irq(LPT1_IRQ); + else if (lpt_addr == LPT2_ADDR) + lpt1_irq(LPT2_IRQ); } if (dev->regs[12] & 0x80) @@ -127,26 +127,26 @@ f82c606_update_ports(upc_t *dev, int set) switch (dev->regs[8] & 0xc0) { case 0x40: nvr_int = 3; break; - case 0x80: uart1_int = 3; break; - case 0xc0: uart2_int = 3; break; + case 0x80: uart1_int = COM2_IRQ; break; + case 0xc0: uart2_int = COM2_IRQ; break; } switch (dev->regs[8] & 0x30) { case 0x10: nvr_int = 4; break; - case 0x20: uart1_int = 4; break; - case 0x30: uart2_int = 4; break; + case 0x20: uart1_int = COM1_IRQ; break; + case 0x30: uart2_int = COM1_IRQ; break; } switch (dev->regs[8] & 0x0c) { case 0x04: nvr_int = 5; break; case 0x08: uart1_int = 5; break; - case 0x0c: lpt1_int = 5; break; + case 0x0c: lpt1_int = LPT2_IRQ; break; } switch (dev->regs[8] & 0x03) { case 0x01: nvr_int = 7; break; case 0x02: uart2_int = 7; break; - case 0x03: lpt1_int = 7; break; + case 0x03: lpt1_int = LPT1_IRQ; break; } if (dev->regs[0] & 1) { diff --git a/src/sio/sio_fdc37c669.c b/src/sio/sio_fdc37c669.c index 689de9236..3267d23b1 100644 --- a/src/sio/sio_fdc37c669.c +++ b/src/sio/sio_fdc37c669.c @@ -246,10 +246,10 @@ static void fdc37c669_reset(fdc37c669_t *dev) { serial_remove(dev->uart[0]); - serial_setup(dev->uart[0], SERIAL1_ADDR, SERIAL1_IRQ); + serial_setup(dev->uart[0], COM1_ADDR, COM1_IRQ); serial_remove(dev->uart[1]); - serial_setup(dev->uart[1], SERIAL2_ADDR, SERIAL2_IRQ); + serial_setup(dev->uart[1], COM2_ADDR, COM2_IRQ); memset(dev->regs, 0, 42); dev->regs[0x00] = 0x28; @@ -264,23 +264,23 @@ fdc37c669_reset(fdc37c669_t *dev) dev->regs[0x21] = (0x1f0 >> 2) & 0xfc; dev->regs[0x22] = ((0x3f6 >> 2) & 0xfc) | 1; if (dev->id == 1) { - dev->regs[0x23] = (0x278 >> 2); + dev->regs[0x23] = (LPT2_ADDR >> 2); lpt2_remove(); - lpt2_init(0x278); + lpt2_init(LPT2_ADDR); - dev->regs[0x24] = (SERIAL3_ADDR >> 2) & 0xfe; - dev->regs[0x25] = (SERIAL4_ADDR >> 2) & 0xfe; + dev->regs[0x24] = (COM3_ADDR >> 2) & 0xfe; + dev->regs[0x25] = (COM4_ADDR >> 2) & 0xfe; } else { fdc_reset(dev->fdc); lpt1_remove(); - lpt1_init(0x378); + lpt1_init(LPT1_ADDR); - dev->regs[0x23] = (0x378 >> 2); + dev->regs[0x23] = (LPT1_ADDR >> 2); - dev->regs[0x24] = (SERIAL1_ADDR >> 2) & 0xfe; - dev->regs[0x25] = (SERIAL2_ADDR >> 2) & 0xfe; + dev->regs[0x24] = (COM1_ADDR >> 2) & 0xfe; + dev->regs[0x25] = (COM2_ADDR >> 2) & 0xfe; } dev->regs[0x26] = (2 << 4) | 3; dev->regs[0x27] = (6 << 4) | (dev->id ? 5 : 7); diff --git a/src/sio/sio_fdc37c67x.c b/src/sio/sio_fdc37c67x.c index 727390535..a0ebbcd59 100644 --- a/src/sio/sio_fdc37c67x.c +++ b/src/sio/sio_fdc37c67x.c @@ -530,7 +530,7 @@ fdc37c67x_reset(fdc37c67x_t *dev) dev->ld_regs[4][0x61] = 0xf8; dev->ld_regs[4][0x70] = 4; dev->ld_regs[4][0xf0] = 3; - serial_setup(dev->uart[0], 0x3f8, dev->ld_regs[4][0x70]); + serial_setup(dev->uart[0], COM1_ADDR, dev->ld_regs[4][0x70]); /* Logical device 5: Serial Port 2 */ dev->ld_regs[5][0x30] = 1; @@ -540,7 +540,7 @@ fdc37c67x_reset(fdc37c67x_t *dev) dev->ld_regs[5][0x74] = 4; dev->ld_regs[5][0xf1] = 2; dev->ld_regs[5][0xf2] = 3; - serial_setup(dev->uart[1], 0x2f8, dev->ld_regs[5][0x70]); + serial_setup(dev->uart[1], COM2_ADDR, dev->ld_regs[5][0x70]); /* Logical device 7: Keyboard */ dev->ld_regs[7][0x30] = 1; diff --git a/src/sio/sio_fdc37c6xx.c b/src/sio/sio_fdc37c6xx.c index 89b90d332..0d4ca459e 100644 --- a/src/sio/sio_fdc37c6xx.c +++ b/src/sio/sio_fdc37c6xx.c @@ -56,11 +56,11 @@ set_com34_addr(fdc37c6xx_t *dev) dev->com4_addr = 0x238; break; case 0x20: - dev->com3_addr = 0x3e8; - dev->com4_addr = 0x2e8; + dev->com3_addr = COM3_ADDR; + dev->com4_addr = COM4_ADDR; break; case 0x40: - dev->com3_addr = 0x3e8; + dev->com3_addr = COM3_ADDR; dev->com4_addr = 0x2e0; break; case 0x60: @@ -84,16 +84,16 @@ set_serial_addr(fdc37c6xx_t *dev, int port) if (dev->regs[2] & (4 << shift)) { switch ((dev->regs[2] >> shift) & 3) { case 0: - serial_setup(dev->uart[port], SERIAL1_ADDR, SERIAL1_IRQ); + serial_setup(dev->uart[port], COM1_ADDR, COM1_IRQ); break; case 1: - serial_setup(dev->uart[port], SERIAL2_ADDR, SERIAL2_IRQ); + serial_setup(dev->uart[port], COM2_ADDR, COM2_IRQ); break; case 2: - serial_setup(dev->uart[port], dev->com3_addr, 4); + serial_setup(dev->uart[port], dev->com3_addr, COM3_IRQ); break; case 3: - serial_setup(dev->uart[port], dev->com4_addr, 3); + serial_setup(dev->uart[port], dev->com4_addr, COM4_IRQ); break; } } @@ -108,15 +108,15 @@ lpt1_handler(fdc37c6xx_t *dev) lpt1_remove(); switch (dev->regs[1] & 3) { case 1: - lpt1_init(0x3bc); + lpt1_init(LPT_MDA_ADDR); lpt1_irq(7); break; case 2: - lpt1_init(0x378); + lpt1_init(LPT1_ADDR); lpt1_irq(7 /*5*/); break; case 3: - lpt1_init(0x278); + lpt1_init(LPT2_ADDR); lpt1_irq(7 /*5*/); break; } @@ -243,13 +243,13 @@ fdc37c6xx_reset(fdc37c6xx_t *dev) dev->com4_addr = 0x238; serial_remove(dev->uart[0]); - serial_setup(dev->uart[0], SERIAL1_ADDR, SERIAL1_IRQ); + serial_setup(dev->uart[0], COM1_ADDR, COM1_IRQ); serial_remove(dev->uart[1]); - serial_setup(dev->uart[1], SERIAL2_ADDR, SERIAL2_IRQ); + serial_setup(dev->uart[1], COM2_ADDR, COM2_IRQ); lpt1_remove(); - lpt1_init(0x378); + lpt1_init(LPT1_ADDR); fdc_reset(dev->fdc); fdc_remove(dev->fdc); diff --git a/src/sio/sio_fdc37c93x.c b/src/sio/sio_fdc37c93x.c index 1747df076..b69f0536d 100644 --- a/src/sio/sio_fdc37c93x.c +++ b/src/sio/sio_fdc37c93x.c @@ -741,7 +741,7 @@ fdc37c93x_reset(fdc37c93x_t *dev) dev->ld_regs[4][0x61] = 0xf8; dev->ld_regs[4][0x70] = 4; dev->ld_regs[4][0xF0] = 3; - serial_setup(dev->uart[0], 0x3f8, dev->ld_regs[4][0x70]); + serial_setup(dev->uart[0], COM1_ADDR, dev->ld_regs[4][0x70]); /* Logical device 5: Serial Port 2 */ dev->ld_regs[5][0x30] = 1; @@ -751,7 +751,7 @@ fdc37c93x_reset(fdc37c93x_t *dev) dev->ld_regs[5][0x74] = 4; dev->ld_regs[5][0xF1] = 2; dev->ld_regs[5][0xF2] = 3; - serial_setup(dev->uart[1], 0x2f8, dev->ld_regs[5][0x70]); + serial_setup(dev->uart[1], COM2_ADDR, dev->ld_regs[5][0x70]); /* Logical device 6: RTC */ dev->ld_regs[6][0x30] = 1; diff --git a/src/sio/sio_pc87306.c b/src/sio/sio_pc87306.c index 2b72e3de1..2f70716c2 100644 --- a/src/sio/sio_pc87306.c +++ b/src/sio/sio_pc87306.c @@ -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); diff --git a/src/sio/sio_pc87310.c b/src/sio/sio_pc87310.c index 30604cf03..e3e7c5975 100644 --- a/src/sio/sio_pc87310.c +++ b/src/sio/sio_pc87310.c @@ -73,8 +73,8 @@ static void lpt1_handler(pc87310_t *dev) { int temp; - uint16_t lpt_port = 0x378; - uint8_t lpt_irq = 7; + uint16_t lpt_port = LPT1_ADDR; + uint8_t lpt_irq = LPT1_IRQ; /* bits 0-1: * 00 378h @@ -86,13 +86,13 @@ lpt1_handler(pc87310_t *dev) switch (temp) { case 0: - lpt_port = 0x378; + lpt_port = LPT1_ADDR; break; case 1: - lpt_port = 0x3bc; + lpt_port = LPT_MDA_ADDR; break; case 2: - lpt_port = 0x278; + lpt_port = LPT2_ADDR; break; case 3: lpt_port = 0x000; @@ -121,10 +121,10 @@ serial_handler(pc87310_t *dev, int uart) if (!temp){ //configure serial port as COM2 if (((dev->reg >> 4) & 1) ^ uart) - serial_setup(dev->uart[uart], 0x2f8, 3); + serial_setup(dev->uart[uart], COM2_ADDR, COM2_IRQ); // configure serial port as COM1 else - serial_setup(dev->uart[uart], 0x3f8, 4); + serial_setup(dev->uart[uart], COM1_ADDR, COM1_IRQ); } } diff --git a/src/sio/sio_pc87311.c b/src/sio/sio_pc87311.c index 6406c766d..18fde4c85 100644 --- a/src/sio/sio_pc87311.c +++ b/src/sio/sio_pc87311.c @@ -128,15 +128,15 @@ uint16_t com3(pc87311_t *dev) switch (COM_BA) { case 0: - return 0x03e8; + return COM3_ADDR; case 1: return 0x0338; case 2: - return 0x02e8; + return COM4_ADDR; case 3: return 0x0220; default: - return 0x03e8; + return COM3_ADDR; } } @@ -145,7 +145,7 @@ uint16_t com4(pc87311_t *dev) switch (COM_BA) { case 0: - return 0x02e8; + return COM4_ADDR; case 1: return 0x0238; case 2: @@ -153,7 +153,7 @@ uint16_t com4(pc87311_t *dev) case 3: return 0x0228; default: - return 0x02e8; + return COM4_ADDR; } } @@ -164,20 +164,20 @@ void pc87311_uart_handler(uint8_t num, pc87311_t *dev) switch (!(num & 1) ? UART1_BA : UART2_BA) { case 0: - dev->base = 0x03f8; - dev->irq = 4; + dev->base = COM1_ADDR; + dev->irq = COM1_IRQ; break; case 1: - dev->base = 0x02f8; - dev->irq = 3; + dev->base = COM2_ADDR; + dev->irq = COM2_IRQ; break; case 2: dev->base = com3(dev); - dev->irq = 4; + dev->irq = COM3_IRQ; break; case 3: dev->base = com4(dev); - dev->irq = 3; + dev->irq = COM4_IRQ; break; } serial_setup(dev->uart[num & 1], dev->base, dev->irq); @@ -190,16 +190,16 @@ void pc87311_lpt_handler(pc87311_t *dev) switch (LPT_BA) { case 0: - dev->base = 0x0378; - dev->irq = (POWER_TEST & 0x08) ? 7 : 5; + dev->base = LPT1_ADDR; + dev->irq = (POWER_TEST & 0x08) ? LPT1_IRQ : LPT2_IRQ; break; case 1: - dev->base = 0x03bc; - dev->irq = 7; + dev->base = LPT_MDA_ADDR; + dev->irq = LPT_MDA_IRQ; break; case 2: - dev->base = 0x0278; - dev->irq = 5; + dev->base = LPT2_ADDR; + dev->irq = LPT2_IRQ; break; } lpt1_init(dev->base); diff --git a/src/sio/sio_pc87332.c b/src/sio/sio_pc87332.c index ea185abce..67b2f76b1 100644 --- a/src/sio/sio_pc87332.c +++ b/src/sio/sio_pc87332.c @@ -48,23 +48,23 @@ static void lpt1_handler(pc87332_t *dev) { int temp; - uint16_t lpt_port = 0x378; - uint8_t lpt_irq = 5; + uint16_t lpt_port = LPT1_ADDR; + uint8_t lpt_irq = LPT2_IRQ; temp = dev->regs[0x01] & 3; 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: - 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; @@ -88,40 +88,40 @@ serial_handler(pc87332_t *dev, int uart) switch (temp) { case 0: - serial_setup(dev->uart[uart], SERIAL1_ADDR, 4); + serial_setup(dev->uart[uart], COM1_ADDR, 4); break; case 1: - serial_setup(dev->uart[uart], SERIAL2_ADDR, 3); + serial_setup(dev->uart[uart], COM2_ADDR, 3); break; case 2: switch ((dev->regs[1] >> 6) & 3) { case 0: - serial_setup(dev->uart[uart], 0x3e8, 4); + serial_setup(dev->uart[uart], COM3_ADDR, COM3_IRQ); break; case 1: - serial_setup(dev->uart[uart], 0x338, 4); + serial_setup(dev->uart[uart], 0x338, COM3_IRQ); break; case 2: - serial_setup(dev->uart[uart], 0x2e8, 4); + serial_setup(dev->uart[uart], COM4_ADDR, COM3_IRQ); break; case 3: - serial_setup(dev->uart[uart], 0x220, 4); + serial_setup(dev->uart[uart], 0x220, COM3_IRQ); break; } break; case 3: switch ((dev->regs[1] >> 6) & 3) { case 0: - serial_setup(dev->uart[uart], 0x2e8, 3); + serial_setup(dev->uart[uart], COM4_ADDR, COM4_IRQ); break; case 1: - serial_setup(dev->uart[uart], 0x238, 3); + serial_setup(dev->uart[uart], 0x238, COM4_IRQ); break; case 2: - serial_setup(dev->uart[uart], 0x2e0, 3); + serial_setup(dev->uart[uart], 0x2e0, COM4_IRQ); break; case 3: - serial_setup(dev->uart[uart], 0x228, 3); + serial_setup(dev->uart[uart], 0x228, COM4_IRQ); break; } break; diff --git a/src/sio/sio_prime3b.c b/src/sio/sio_prime3b.c index 9e71f3124..3ed22eff1 100644 --- a/src/sio/sio_prime3b.c +++ b/src/sio/sio_prime3b.c @@ -108,15 +108,15 @@ prime3b_write(uint16_t addr, uint8_t val, void *priv) switch ((dev->regs[0xa4] >> 6) & 3) { case 0: - dev->com3_addr = 0x3e8; - dev->com4_addr = 0x2e8; + dev->com3_addr = COM3_ADDR; + dev->com4_addr = COM4_ADDR; break; case 1: dev->com3_addr = 0x338; dev->com4_addr = 0x238; break; case 2: - dev->com3_addr = 0x2e8; + dev->com3_addr = COM4_ADDR; dev->com4_addr = 0x2e0; break; case 3: @@ -154,7 +154,7 @@ void prime3b_uart_handler(uint8_t num, prime3b_t *dev) if ((ASR >> (3 + 2 * num)) & 1) uart_base = !((ASR >> (2 + 2 * num)) & 1) ? dev->com3_addr : dev->com4_addr; else - uart_base = !((ASR >> (2 + 2 * num)) & 1) ? 0x3f8 : 0x2f8; + uart_base = !((ASR >> (2 + 2 * num)) & 1) ? COM1_ADDR : COM2_ADDR; serial_remove(dev->uart[num]); serial_setup(dev->uart[num], uart_base, 4 - num); @@ -163,10 +163,10 @@ void prime3b_uart_handler(uint8_t num, prime3b_t *dev) void prime3b_lpt_handler(prime3b_t *dev) { - uint16_t lpt_base = (ASR & 2) ? 0x3bc : (!(ASR & 1) ? 0x378 : 0x278); + uint16_t lpt_base = (ASR & 2) ? LPT_MDA_ADDR : (!(ASR & 1) ? LPT1_ADDR : LPT2_ADDR); lpt1_remove(); lpt1_init(lpt_base); - lpt1_irq(7); + lpt1_irq(LPT1_IRQ); prime3b_log("Prime3B-LPT: Enabled with base %03x\n", lpt_base); } @@ -174,9 +174,10 @@ void prime3b_ide_handler(prime3b_t *dev) { ide_pri_disable(); uint16_t ide_base = !(ASR & 0x80) ? 0x1f0 : 0x170; + uint16_t ide_side = ide_base + 0x206; ide_set_base(0, ide_base); - ide_set_side(0, ide_base + 0x206); - prime3b_log("Prime3B-IDE: Enabled with base %03x and side %03x\n", ide_base, ide_base + 0x206); + ide_set_side(0, ide_side); + prime3b_log("Prime3B-IDE: Enabled with base %03x and side %03x\n", ide_base, ide_side); } void prime3b_enable(prime3b_t *dev) @@ -256,8 +257,8 @@ prime3b_init(const device_t *info) if (HAS_IDE_FUNCTIONALITY) device_add(&ide_isa_device); - dev->com3_addr = 0x3e8; - dev->com4_addr = 0x2e8; + dev->com3_addr = COM3_ADDR; + dev->com4_addr = COM4_ADDR; fdc_reset(dev->fdc_controller); prime3b_enable(dev); diff --git a/src/sio/sio_um8669f.c b/src/sio/sio_um8669f.c index aeef3a51e..287154eee 100644 --- a/src/sio/sio_um8669f.c +++ b/src/sio/sio_um8669f.c @@ -76,16 +76,16 @@ static const isapnp_device_config_t um8669f_pnp_defaults[] = { .dma = { { .dma = 2 }, } }, { .activate = 1, - .io = { { .base = 0x03f8 }, }, - .irq = { { .irq = 4 }, } + .io = { { .base = COM1_ADDR }, }, + .irq = { { .irq = COM1_IRQ }, } }, { .activate = 1, - .io = { { .base = 0x02f8 }, }, - .irq = { { .irq = 3 }, } + .io = { { .base = COM2_ADDR }, }, + .irq = { { .irq = COM2_IRQ }, } }, { .activate = 1, - .io = { { .base = 0x0378 }, }, - .irq = { { .irq = 7 }, } + .io = { { .base = LPT1_ADDR }, }, + .irq = { { .irq = LPT1_IRQ }, } }, { .activate = 0 }, { diff --git a/src/sio/sio_vt82c686.c b/src/sio/sio_vt82c686.c index 3f6229f15..7d3a866e1 100644 --- a/src/sio/sio_vt82c686.c +++ b/src/sio/sio_vt82c686.c @@ -261,8 +261,8 @@ vt82c686_reset(vt82c686_t *dev) fdc_reset(dev->fdc); - serial_setup(dev->uart[0], SERIAL1_ADDR, SERIAL1_IRQ); - serial_setup(dev->uart[1], SERIAL2_ADDR, SERIAL2_IRQ); + serial_setup(dev->uart[0], COM1_ADDR, COM1_IRQ); + serial_setup(dev->uart[1], COM2_ADDR, COM2_IRQ); vt82c686_lpt_handler(dev); vt82c686_serial_handler(dev, 0); diff --git a/src/sio/sio_w83787f.c b/src/sio/sio_w83787f.c index a24e8695c..9f1e521ad 100644 --- a/src/sio/sio_w83787f.c +++ b/src/sio/sio_w83787f.c @@ -125,27 +125,27 @@ w83787f_serial_handler(w83787f_t *dev, int uart) int urs0 = !!(dev->regs[1] & (1 << uart)); int urs1 = !!(dev->regs[1] & (4 << uart)); int urs2 = !!(dev->regs[3] & (8 >> uart)); - int urs, irq = 4; - uint16_t addr = 0x3f8, enable = 1; + int urs, irq = COM1_IRQ; + uint16_t addr = COM1_ADDR, enable = 1; urs = (urs1 << 1) | urs0; if (urs2) { - addr = uart ? 0x3f8 : 0x2f8; - irq = uart ? 4 : 3; + addr = uart ? COM1_ADDR : COM2_ADDR; + irq = uart ? COM1_IRQ : COM2_IRQ; } else { switch (urs) { case 0: - addr = uart ? 0x3e8 : 0x2e8; - irq = uart ? 4 : 3; + addr = uart ? COM3_ADDR : COM4_ADDR; + irq = uart ? COM3_IRQ : COM4_IRQ; break; case 1: - addr = uart ? 0x2e8 : 0x3e8; - irq = uart ? 3 : 4; + addr = uart ? COM4_ADDR : COM3_ADDR; + irq = uart ? COM4_IRQ : COM3_IRQ; break; case 2: - addr = uart ? 0x2f8 : 0x3f8; - irq = uart ? 3 : 4; + addr = uart ? COM2_ADDR : COM1_ADDR; + irq = uart ? COM2_IRQ : COM1_IRQ; break; case 3: default: @@ -167,21 +167,21 @@ static void w83787f_lpt_handler(w83787f_t *dev) { int ptras = (dev->regs[1] >> 4) & 0x03; - int irq = 7; - uint16_t addr = 0x378, enable = 1; + int irq = LPT1_IRQ; + uint16_t addr = LPT1_ADDR, enable = 1; switch (ptras) { case 0x00: - addr = 0x3bc; - irq = 7; + addr = LPT_MDA_ADDR; + irq = LPT_MDA_IRQ; break; case 0x01: - addr = 0x278; - irq = 5; + addr = LPT2_ADDR; + irq = LPT2_IRQ; break; case 0x02: - addr = 0x378; - irq = 7; + addr = LPT1_ADDR; + irq = LPT1_IRQ; break; case 0x03: default: @@ -361,8 +361,8 @@ static void w83787f_reset(w83787f_t *dev) { lpt1_remove(); - lpt1_init(0x378); - lpt1_irq(7); + lpt1_init(LPT1_ADDR); + lpt1_irq(LPT1_IRQ); memset(dev->regs, 0, 0x2A); @@ -399,8 +399,8 @@ w83787f_reset(w83787f_t *dev) dev->regs[0x0c] = 0x2C; dev->regs[0x0d] = 0xA3; - serial_setup(dev->uart[0], SERIAL1_ADDR, SERIAL1_IRQ); - serial_setup(dev->uart[1], SERIAL2_ADDR, SERIAL2_IRQ); + serial_setup(dev->uart[0], COM1_ADDR, COM1_IRQ); + serial_setup(dev->uart[1], COM2_ADDR, COM2_IRQ); dev->key = 0x89; diff --git a/src/sio/sio_w83877f.c b/src/sio/sio_w83877f.c index 3867fec60..ee18bb446 100644 --- a/src/sio/sio_w83877f.c +++ b/src/sio/sio_w83877f.c @@ -127,7 +127,7 @@ make_port(w83877f_t *dev, uint8_t reg) p &= 0x3F8; else p &= 0x3FC; - if ((p < 0x100) || (p > 0x3FF)) p = 0x378; + if ((p < 0x100) || (p > 0x3FF)) p = LPT1_ADDR; /* In ECP mode, A10 is active. */ if (l & 0x80) p |= 0x400; @@ -135,12 +135,12 @@ make_port(w83877f_t *dev, uint8_t reg) case 0x24: p = ((uint16_t) (dev->regs[reg] & 0xfe)) << 2; p &= 0xFF8; - if ((p < 0x100) || (p > 0x3F8)) p = 0x3F8; + if ((p < 0x100) || (p > 0x3F8)) p = COM1_ADDR; break; case 0x25: p = ((uint16_t) (dev->regs[reg] & 0xfe)) << 2; p &= 0xFF8; - if ((p < 0x100) || (p > 0x3F8)) p = 0x2F8; + if ((p < 0x100) || (p > 0x3F8)) p = COM2_ADDR; break; } @@ -406,9 +406,9 @@ w83877f_reset(w83877f_t *dev) dev->regs[0x20] = (0x3f0 >> 2) & 0xfc; dev->regs[0x21] = (0x1f0 >> 2) & 0xfc; dev->regs[0x22] = ((0x3f6 >> 2) & 0xfc) | 1; - dev->regs[0x23] = (0x378 >> 2); - dev->regs[0x24] = (0x3f8 >> 2) & 0xfe; - dev->regs[0x25] = (0x2f8 >> 2) & 0xfe; + dev->regs[0x23] = (LPT1_ADDR >> 2); + dev->regs[0x24] = (COM1_ADDR >> 2) & 0xfe; + dev->regs[0x25] = (COM2_ADDR >> 2) & 0xfe; dev->regs[0x26] = (2 << 4) | 4; dev->regs[0x27] = (2 << 4) | 5; dev->regs[0x28] = (4 << 4) | 3; diff --git a/src/sio/sio_w83977f.c b/src/sio/sio_w83977f.c index 66678d741..d7985d208 100644 --- a/src/sio/sio_w83977f.c +++ b/src/sio/sio_w83977f.c @@ -507,13 +507,13 @@ w83977f_reset(w83977f_t *dev) } if (dev->id == 1) { - serial_setup(dev->uart[0], SERIAL3_ADDR, SERIAL3_IRQ); - serial_setup(dev->uart[1], SERIAL4_ADDR, SERIAL4_IRQ); + serial_setup(dev->uart[0], COM3_ADDR, COM3_IRQ); + serial_setup(dev->uart[1], COM4_ADDR, COM4_IRQ); } else { fdc_reset(dev->fdc); - serial_setup(dev->uart[0], SERIAL1_ADDR, SERIAL1_IRQ); - serial_setup(dev->uart[1], SERIAL2_ADDR, SERIAL2_IRQ); + serial_setup(dev->uart[0], COM1_ADDR, COM1_IRQ); + serial_setup(dev->uart[1], COM2_ADDR, COM2_IRQ); w83977f_fdc_handler(dev); }