diff --git a/src/device/kbc_at.c b/src/device/kbc_at.c index 4de407527..57f24a5e1 100644 --- a/src/device/kbc_at.c +++ b/src/device/kbc_at.c @@ -62,36 +62,6 @@ #define CCB_MASK 0x68 #define MODE_MASK 0x6c -#define KBC_TYPE_ISA 0x00 /* AT ISA-based chips */ -#define KBC_TYPE_PS2_1 0x01 /* PS2 on PS/2, type 1 */ -#define KBC_TYPE_PS2_2 0x02 /* PS2 on PS/2, type 2 */ -#define KBC_TYPE_GREEN 0x03 /* PS2 green controller */ -#define KBC_TYPE_MASK 0x03 - -#define KBC_VEN_GENERIC 0x00 -#define KBC_VEN_IBM_PS1 0x04 -#define KBC_VEN_TOSHIBA 0x08 -#define KBC_VEN_OLIVETTI 0x0c -#define KBC_VEN_AMI 0x10 -#define KBC_VEN_TRIGEM_AMI 0x14 -#define KBC_VEN_QUADTEL 0x18 -#define KBC_VEN_PHOENIX 0x1c -#define KBC_VEN_ACER 0x20 -#define KBC_VEN_NCR 0x24 -#define KBC_VEN_ALI 0x28 -#define KBC_VEN_SIEMENS 0x2c -#define KBC_VEN_COMPAQ 0x30 -#define KBC_VEN_IBM 0x34 -#define KBC_VEN_AWARD 0x38 -#define KBC_VEN_VIA 0x3c -#define KBC_VEN_CHIPS 0x40 -#define KBC_VEN_HOLTEK 0x44 -#define KBC_VEN_UMC 0x48 -#define KBC_VEN_SIS 0x4c -#define KBC_VEN_MASK 0x7c - -#define KBC_FLAG_IS_ASIC 0x80000000 - #define FLAG_CLOCK 0x01 #define FLAG_CACHE 0x02 #define FLAG_PS2 0x04 @@ -402,7 +372,7 @@ kbc_send_to_ob(atkbc_t *dev, uint8_t val, uint8_t channel, uint8_t stat_hi) if (temp == -1) return; - if ((kbc_ven == KBC_VEN_AMI) || (kbc_ven == KBC_VEN_TRIGEM_AMI) || + if ((kbc_ven == KBC_VEN_AMI) || (kbc_ven == KBC_VEN_AMI_TRIGEM) || (kbc_ven == KBC_VEN_HOLTEK) || (kbc_ven == KBC_VEN_UMC) || (dev->misc_flags & FLAG_PS2)) stat_hi |= ((dev->p1 & 0x80) ? 0x10 : 0x00); @@ -429,10 +399,7 @@ kbc_send_to_ob(atkbc_t *dev, uint8_t val, uint8_t channel, uint8_t stat_hi) if (dev->irq[0] != 0xffff) picintlevel(1 << dev->irq[0], &dev->irq_state); -#ifdef WRONG_CONDITION - if ((dev->channel > 0) || dev->is_asic || (kbc_ven == KBC_VEN_IBM_PS1) || (kbc_ven == KBC_VEN_IBM)) -#endif - kbc_do_irq(dev); + kbc_do_irq(dev); dev->ob = temp; } @@ -2235,11 +2202,6 @@ write_cmd_toshiba(void *priv, uint8_t val) static uint8_t read_p1(atkbc_t *dev) { - uint8_t kbc_ven = dev->flags & KBC_VEN_MASK; - uint8_t ret = 0xff; - uint8_t current_drive; - uint8_t fixed_bits; - /* P1 bits: 76543210 ----------------- @@ -2305,93 +2267,7 @@ read_p1(atkbc_t *dev) Compaq: Reserved; NCR: DMA mode. */ - fixed_bits = 4; - - /* The SMM handlers of Intel AMI Pentium BIOS'es expect bit 6 to be set. */ - if ((kbc_ven == KBC_VEN_AMI) && ((dev->flags & KBC_TYPE_MASK) == KBC_TYPE_GREEN)) - fixed_bits |= 0x40; - - if (!strcmp(machine_get_internal_name(), "dells333sl")) - /* - Dell System 333s/L: - - Bit 5: Stuck in reboot loop if clear. - */ - ret = 0x20 | (video_is_mda() ? 0x40 : 0x00); - else if (kbc_ven == KBC_VEN_IBM_PS1) { - current_drive = fdc_get_current_drive(); - /* (B0 or F0) | (fdd_is_525(current_drive) on bit 6) */ - ret = dev->p1 | fixed_bits | (fdd_is_525(current_drive) ? 0x40 : 0x00); - } else if (kbc_ven == KBC_VEN_NCR) { - /* Switch settings: - - Bit 7: Keyboard disable; - - Bit 6: Display type (0 color, 1 mono); - - Bit 5: Power-on default speed (0 high, 1 low); - - Bit 4: Sense RAM size (0 unsupported, 1 512k on system board); - - Bit 3: Coprocessor detect; - - Bit 2: Unused; - - Bit 1: High/Auto speed; - - Bit 0: DMA mode. - - (B0 or F0) | 0x04 | (display on bit 6) | (fpu on bit 3) - */ - ret = (dev->p1 | fixed_bits | (video_is_mda() ? 0x40 : 0x00) | - (hasfpu ? 0x08 : 0x00)) & 0xdf; - } else if (kbc_ven == KBC_VEN_TRIGEM_AMI) { - /* Switch settings: - - Bit 3, 2: - - 1, 1: TriGem logo; - - 1, 0: Garbled logo; - - 0, 1: Epson logo; - - 0, 0: Generic AMI logo. - */ - if (dev->misc_flags & FLAG_PCI) - fixed_bits |= 8; - - /* (B0 or F0) | (0x04 or 0x0c) */ - ret = dev->p1 | fixed_bits; - } else if (((dev->flags & KBC_TYPE_MASK) >= KBC_TYPE_PS2_1) && - ((dev->flags & KBC_TYPE_MASK) < KBC_TYPE_GREEN)) { - if (!strcmp(machine_get_internal_name(), "dell466np")) - /* - Dell 466/NP: - - Bit 2: Keyboard fuse (must be set); - - Bit 4: Password disable jumper (must be clear); - - Bit 5: Manufacturing jumper (must be set). - */ - ret = 0x24; - else if (!strcmp(machine_get_internal_name(), "optiplex_gxl")) - /* - Dell OptiPlex GXL/GXM: - - Bit 3: Password disable jumper (must be clear); - - Bit 4: Keyboard fuse (must be set); - - Bit 5: Manufacturing jumper (must be set). - */ - ret = 0x30; - else if (!strcmp(machine_get_internal_name(), "dellplato") || - !strcmp(machine_get_internal_name(), "dellhannibalp") || - !strcmp(machine_get_internal_name(), "dellxp60")) - /* - Dell Dimension XPS Pxxx & Pxxxa/Mxxxa: - - Bit 3: Password disable jumper (must be clear); - - Bit 4: Clear CMOS jumper (must be set). - */ - ret = 0x10; - else { - /* (B0 or F0) | (0x08 or 0x0c) */ - ret = ((dev->p1 | fixed_bits) & 0xf0) | - (((dev->flags & KBC_VEN_MASK) == KBC_VEN_ACER) ? 0x08 : 0x0c); - - if (!strcmp(machine_get_internal_name(), "alfredo")) - ret &= 0xef; - } - } else if (kbc_ven == KBC_VEN_COMPAQ) - ret = dev->p1 | (hasfpu ? 0x00 : 0x04); - else - /* (B0 or F0) | (0x04 or 0x44) */ - ret = dev->p1 | fixed_bits; - - dev->p1 = ((dev->p1 + 1) & 3) | (dev->p1 & 0xfc); - pclog("P1 = %02X\n", dev->p1); + uint8_t ret = machine_get_p1(dev->p1); return ret; } @@ -3097,7 +2973,7 @@ kbc_at_init(const device_t *info) dev->write_cmd_ven = write_cmd_ami; break; - case KBC_VEN_TRIGEM_AMI: + case KBC_VEN_AMI_TRIGEM: kbc_ami_revision = 'Z'; dev->write_cmd_data_ven = write_cmd_data_ami; dev->write_cmd_ven = write_cmd_ami; @@ -3323,7 +3199,7 @@ const device_t kbc_at_tg_ami_device = { .name = "PC/AT Keyboard Controller (TriGem AMI)", .internal_name = "kbc_at_tg_ami", .flags = DEVICE_KBC, - .local = KBC_TYPE_ISA | KBC_VEN_TRIGEM_AMI, + .local = KBC_TYPE_ISA | KBC_VEN_AMI_TRIGEM, .init = kbc_at_init, .close = kbc_at_close, .reset = kbc_at_reset, @@ -3431,34 +3307,6 @@ const device_t kbc_ps2_device = { .config = NULL }; -const device_t kbc_ps2_ps1_device = { - .name = "PS/2 Keyboard Controller (IBM PS/1)", - .internal_name = "kbc_ps2_ps1", - .flags = DEVICE_KBC, - .local = KBC_TYPE_PS2_1 | KBC_VEN_IBM_PS1, - .init = kbc_at_init, - .close = kbc_at_close, - .reset = kbc_at_reset, - .available = NULL, - .speed_changed = NULL, - .force_redraw = NULL, - .config = NULL -}; - -const device_t kbc_ps2_ps1_pci_device = { - .name = "PS/2 Keyboard Controller (IBM PS/1)", - .internal_name = "kbc_ps2_ps1_pci", - .flags = DEVICE_KBC | DEVICE_PCI, - .local = KBC_TYPE_PS2_1 | KBC_VEN_IBM_PS1, - .init = kbc_at_init, - .close = kbc_at_close, - .reset = kbc_at_reset, - .available = NULL, - .speed_changed = NULL, - .force_redraw = NULL, - .config = NULL -}; - const device_t kbc_ps2_xi8088_device = { .name = "PS/2 Keyboard Controller (Xi8088)", .internal_name = "kbc_ps2_xi8088", @@ -3590,7 +3438,7 @@ const device_t kbc_ps2_tg_ami_device = { .name = "PS/2 Keyboard Controller (TriGem AMI)", .internal_name = "kbc_ps2_tg_ami", .flags = DEVICE_KBC, - .local = KBC_TYPE_PS2_1 | KBC_VEN_TRIGEM_AMI, + .local = KBC_TYPE_PS2_1 | KBC_VEN_AMI_TRIGEM, .init = kbc_at_init, .close = kbc_at_close, .reset = kbc_at_reset, @@ -3656,38 +3504,10 @@ const device_t kbc_ps2_sis_device = { .config = NULL }; -const device_t kbc_ps2_pci_device = { - .name = "PS/2 Keyboard Controller (PCI)", - .internal_name = "kbc_ps2_pci", - .flags = DEVICE_KBC | DEVICE_PCI, - .local = KBC_TYPE_PS2_1 | KBC_VEN_GENERIC, - .init = kbc_at_init, - .close = kbc_at_close, - .reset = kbc_at_reset, - .available = NULL, - .speed_changed = NULL, - .force_redraw = NULL, - .config = NULL -}; - -const device_t kbc_ps2_ami_pci_device = { - .name = "PS/2 Keyboard Controller (PCI) (AMI)", - .internal_name = "kbc_ps2_ami_pci", - .flags = DEVICE_KBC | DEVICE_PCI, - .local = KBC_TYPE_PS2_1 | KBC_VEN_AMI, - .init = kbc_at_init, - .close = kbc_at_close, - .reset = kbc_at_reset, - .available = NULL, - .speed_changed = NULL, - .force_redraw = NULL, - .config = NULL -}; - -const device_t kbc_ps2_ali_pci_device = { - .name = "PS/2 Keyboard Controller (PCI) (ALi M5123/M1543C)", +const device_t kbc_ps2_ali_device = { + .name = "PS/2 Keyboard Controller (ALi M5123/M1543C)", .internal_name = "kbc_ps2_ali_pci", - .flags = DEVICE_KBC | DEVICE_PCI, + .flags = DEVICE_KBC, .local = KBC_TYPE_PS2_1 | KBC_VEN_ALI, .init = kbc_at_init, .close = kbc_at_close, @@ -3697,59 +3517,3 @@ const device_t kbc_ps2_ali_pci_device = { .force_redraw = NULL, .config = NULL }; - -const device_t kbc_ps2_intel_ami_pci_device = { - .name = "PS/2 Keyboard Controller (PCI) (AMI)", - .internal_name = "kbc_ps2_intel_ami_pci", - .flags = DEVICE_KBC | DEVICE_PCI, - .local = KBC_TYPE_GREEN | KBC_VEN_AMI, - .init = kbc_at_init, - .close = kbc_at_close, - .reset = kbc_at_reset, - .available = NULL, - .speed_changed = NULL, - .force_redraw = NULL, - .config = NULL -}; - -const device_t kbc_ps2_tg_ami_pci_device = { - .name = "PS/2 Keyboard Controller (PCI) (TriGem AMI)", - .internal_name = "kbc_ps2_tg_ami_pci", - .flags = DEVICE_KBC | DEVICE_PCI, - .local = KBC_TYPE_PS2_1 | KBC_VEN_TRIGEM_AMI, - .init = kbc_at_init, - .close = kbc_at_close, - .reset = kbc_at_reset, - .available = NULL, - .speed_changed = NULL, - .force_redraw = NULL, - .config = NULL -}; - -const device_t kbc_ps2_acer_pci_device = { - .name = "PS/2 Keyboard Controller (PCI) (Acer 90M002A)", - .internal_name = "kbc_ps2_acer_pci", - .flags = DEVICE_KBC | DEVICE_PCI, - .local = KBC_TYPE_PS2_1 | KBC_VEN_ACER, - .init = kbc_at_init, - .close = kbc_at_close, - .reset = kbc_at_reset, - .available = NULL, - .speed_changed = NULL, - .force_redraw = NULL, - .config = NULL -}; - -const device_t kbc_ps2_phoenix_pci_device = { - .name = "PS/2 Keyboard Controller (PCI) (Phoenix)", - .internal_name = "kbc_ps2_phoenix_pci", - .flags = DEVICE_KBC | DEVICE_PCI, - .local = KBC_TYPE_PS2_1 | KBC_VEN_PHOENIX, - .init = kbc_at_init, - .close = kbc_at_close, - .reset = kbc_at_reset, - .available = NULL, - .speed_changed = NULL, - .force_redraw = NULL, - .config = NULL -}; diff --git a/src/include/86box/keyboard.h b/src/include/86box/keyboard.h index 9824089da..12ba74a0f 100644 --- a/src/include/86box/keyboard.h +++ b/src/include/86box/keyboard.h @@ -118,101 +118,45 @@ typedef struct scancode { const uint8_t brk[4]; } scancode; -#define STATE_SHIFT_MASK 0x22 -#define STATE_RSHIFT 0x20 -#define STATE_LSHIFT 0x02 +#define STATE_SHIFT_MASK 0x22 +#define STATE_RSHIFT 0x20 +#define STATE_LSHIFT 0x02 -#define FAKE_LSHIFT_ON 0x100 -#define FAKE_LSHIFT_OFF 0x101 -#define LSHIFT_ON 0x102 -#define LSHIFT_OFF 0x103 -#define RSHIFT_ON 0x104 -#define RSHIFT_OFF 0x105 +#define FAKE_LSHIFT_ON 0x100 +#define FAKE_LSHIFT_OFF 0x101 +#define LSHIFT_ON 0x102 +#define LSHIFT_OFF 0x103 +#define RSHIFT_ON 0x104 +#define RSHIFT_OFF 0x105 -/* KBC #define's */ -/* IBM-style controllers */ -#define KBC_IBM_PC_XT 0x0000 /* IBM PC/XT */ -#define KBC_IBM_PCJR 0x0001 /* IBM PCjr */ -#define KBC_IBM_TYPE_1 0x0002 /* IBM AT / PS/2 Type 1 */ -#define KBC_IBM_TYPE_2 0x0003 /* IBM PS/2 Type 2 */ -#define KBC_AMI_ACCESS_METHODS 0x0004 /* Access Methods AMI */ -#define KBC_JU_JET 0x0005 /* Ju-Jet */ -/* OEM proprietary */ -#define KBC_TANDY 0x0011 /* Tandy 1000/1000HX */ -#define KBC_TANDY_SL2 0x0012 /* Tandy 1000SL2 */ -#define KBC_AMSTRAD 0x0013 /* Amstrad */ -#define KBC_OLIVETTI_XT 0x0014 /* Olivetti XT */ -#define KBC_OLIVETTI 0x0015 /* Olivetti AT */ -#define KBC_TOSHIBA 0x0016 /* Toshiba AT */ -#define KBC_COMPAQ 0x0017 /* Compaq */ -#define KBC_NCR 0x0018 /* NCR */ -#define KBC_QUADTEL 0x0019 /* Quadtel */ -#define KBC_SIEMENS 0x001A /* Siemens */ -/* Phoenix MultiKey/42 */ -#define PHOENIX_MK42_105 0x0521 /* Phoenix MultiKey/42 1.05 */ -#define PHOENIX_MK42_129 0x2921 /* Phoenix MultiKey/42 1.29 */ -#define PHOENIX_MK42_138 0x3821 /* Phoenix MultiKey/42 1.38 */ -#define PHOENIX_MK42_140 0x3821 /* Phoenix MultiKey/42 1.40 */ -#define PHOENIX_MKC42_214 0x1422 /* Phoenix MultiKey/C42 2.14 */ -#define PHOENIX_MK42I_416 0x1624 /* Phoenix MultiKey/42i 4.16 */ -#define PHOENIX_MK42I_419 0x1924 /* Phoenix MultiKey/42i 4.19 */ -/* AMI 0x3x */ -#define KBC_ACER_V30 0x0030 /* Acer (0xA1 returns nothing, 0xAF returns 0x00) */ -#define KBC_AMI_MEGAKEY_SUPER_IO 0x0035 /* AMI '5' MegaKey 1994 NSC (and SM(S)C?) */ -#define KBC_AMI_8 0x0038 /* AMI '8' */ -/* AMI 0x4x */ -#define KBC_AMI_B 0x0042 /* AMI 'B' */ -#define KBC_AMI_D 0x0044 /* AMI 'D' */ -#define KBC_AMI_E 0x0045 /* AMI 'E' */ -#define KBC_AMIKEY 0x0046 /* AMI 'F'/AMIKEY */ -#define KBC_AMIKEY_2 0x0048 /* AMI 'H'/AMIEY-2 */ -#define KBC_MR 0x004D /* MR 'M' - Temporary classification until we get a dump */ -/* AMI 0x5x */ -#define KBC_AMI_MEGAKEY_1993 0x0050 /* AMI 'P' MegaKey 1993 */ -#define KBC_AMI_MEGAKEY_1994 0x0052 /* AMI 'R' MegaKey 1994 - 0xA0 returns 1993 copyright */ -#define KBC_AMI_TRIGEM 0x005A /* TriGem AMI 'Z' (1990 AMI copyright) */ -/* AMI 0x6x */ -#define KBC_TANDON 0x0061 /* Tandon 'a' - Temporary classification until we get a dump */ -/* Holtek */ -#define KBC_HT_REGIONAL_6542 0x1046 /* Holtek 'F' (Regional 6542) */ -#define KBC_HT_HT6542B_BESTKEY 0x1048 /* Holtek 'H' (Holtek HT6542B, BestKey) */ -/* AMI 0x0x clone without command 0xA0 */ -#define KBC_UNK_00 0x2000 /* Unknown 0x00 */ -#define KBC_UNK_01 0x2001 /* Unknown 0x01 */ -/* AMI 0x3x clone without command 0xA0 */ -#define KBC_UNK_7 0x2037 /* Unknown '7' - Temporary classification until we get a dump */ -#define KBC_UNK_9 0x2037 /* Unknown '9' - Temporary classification until we get a dump */ -#define KBC_JETKEY_NO_VER 0x2038 /* No-version JetKey '8' */ -/* AMI 0x4x clone without command 0xA0 */ -#define KBC_UNK_A 0x2041 /* Unknown 'A' - Temporary classification until we get a dump */ -#define KBC_JETKEY_5_W83C42 0x2046 /* JetKey 5.0 'F' and Winbond W83C42 */ -#define KBC_UNK_G 0x2047 /* Unknown 'G' - Temporary classification until we get a dump */ -#define KBC_MB_300E_SIS 0x2048 /* MB-300E Non-VIA 'H' and SiS 5582/559x */ -#define KBC_UNK_L 0x204C /* Unknown 'L' - Temporary classification until we get a dump */ -/* AMI 0x0x clone with command 0xA0 (Get Copyright String) only returning 0x00 */ -#define KBC_VPC_2007 0x3000 /* Microsoft Virtual PC 2007 - everything returns 0x00 */ -/* AMI 0x4x clone with command 0xA0 (Get Copyright String) only returning 0x00 */ -#define KBC_ALI_M148X 0x3045 /* ALi M148x 'E'/'U' (0xA1 actually returns 'F' but BIOS shows 'E' or 'U') */ -#define KBC_LANCE_UTRON 0x3046 /* Lance LT38C41 'F', Utron */ -/* AMI 0x5x clone with command 0xA0 (Get Copyright String) only returning 0x00 */ -#define KBC_SARC_6042 0x3055 /* SARC 6042 'U' */ -/* Award and clones */ -#define KBC_AWARD 0x4200 /* Award (0xA1 returns 0x00) - Temporary classification until we get \ - the real 0xAF return */ -#define KBC_VIA_VT82C4XN 0x4246 /* VIA VT82C41N, VT82C4N (0xA1 returns 'F') */ -#define KBC_VIA_VT82C586A 0x4346 /* VIA VT82C586A (0xA1 returns 'F') */ -#define KBC_VIA_VT82C586B 0x4446 /* VIA VT82C586B (0xA1 returns 'F') */ -#define KBC_VIA_VT82C686B 0x4546 /* VIA VT82C686B (0xA1 returns 'F') */ -/* UMC */ -#define KBC_UMC_UM8886 0x5048 /* UMC UM8886 'H' */ -/* IBM-style controllers with inverted P1 video type bit polarity */ -#define KBC_IBM_TYPE_1_XI8088 0x8000 /* Xi8088: IBM Type 1 */ -/* AMI (this is the 0xA1 revision byte) with inverted P1 video type bit polarity */ -#define KBC_ACER_V30_INV 0x8030 /* Acer (0xA1 returns nothing, 0xAF returns 0x00) */ -/* Holtek with inverted P1 video type bit polarity */ -#define KBC_HT_HT6542B_XI8088 0x9048 /* Xi8088: Holtek 'H' (Holtek HT6542B, BestKey) */ -/* Award and clones with inverted P1 video type bit polarity */ -#define KBC_VIA_VT82C4XN_XI8088 0xC246 /* Xi8088: VIA VT82C41N, VT82C4N (0xA1 returns 'F') */ +#define KBC_TYPE_ISA 0x00 /* AT ISA-based chips */ +#define KBC_TYPE_PS2_1 0x01 /* PS2 on PS/2, type 1 */ +#define KBC_TYPE_PS2_2 0x02 /* PS2 on PS/2, type 2 */ +#define KBC_TYPE_GREEN 0x03 /* PS2 green controller */ +#define KBC_TYPE_MASK 0x03 + +#define KBC_VEN_GENERIC 0x00 +#define KBC_VEN_ACER 0x04 +#define KBC_VEN_ALI 0x08 +#define KBC_VEN_AMI 0x0c +#define KBC_VEN_AMI_TRIGEM 0x10 +#define KBC_VEN_AWARD 0x14 +#define KBC_VEN_CHIPS 0x18 +#define KBC_VEN_COMPAQ 0x1c +#define KBC_VEN_HOLTEK 0x20 +#define KBC_VEN_IBM 0x24 +#define KBC_VEN_NCR 0x28 +#define KBC_VEN_OLIVETTI 0x2c +#define KBC_VEN_QUADTEL 0x30 +#define KBC_VEN_PHOENIX 0x34 +#define KBC_VEN_SIEMENS 0x38 +#define KBC_VEN_TOSHIBA 0x3c +#define KBC_VEN_VIA 0x40 +#define KBC_VEN_UMC 0x44 +#define KBC_VEN_SIS 0x48 +#define KBC_VEN_MASK 0x7c + +#define KBC_FLAG_IS_ASIC 0x80000000 #ifdef __cplusplus extern "C" { @@ -256,27 +200,26 @@ extern const device_t kbc_xt_zenith_device; extern const device_t kbc_xt_hyundai_device; extern const device_t kbc_xt_fe2010_device; extern const device_t kbc_xtclone_device; + extern const device_t kbc_at_device; extern const device_t kbc_at_ami_device; extern const device_t kbc_at_award_device; extern const device_t kbc_at_chips_device; -extern const device_t kbc_at_holtek_device; -extern const device_t kbc_at_phoenix_device; -extern const device_t kbc_at_quadtel_device; extern const device_t kbc_at_compaq_device; -extern const device_t kbc_at_umc_device; -extern const device_t kbc_at_via_device; -extern const device_t kbc_at_phoenix_device; +extern const device_t kbc_at_holtek_device; extern const device_t kbc_at_ncr_device; extern const device_t kbc_at_olivetti_device; +extern const device_t kbc_at_phoenix_device; +extern const device_t kbc_at_quadtel_device; extern const device_t kbc_at_siemens_device; extern const device_t kbc_at_tg_ami_device; extern const device_t kbc_at_toshiba_device; +extern const device_t kbc_at_umc_device; +extern const device_t kbc_at_via_device; + extern const device_t kbc_ps2_device; -extern const device_t kbc_ps2_ps1_device; -extern const device_t kbc_ps2_ps1_pci_device; -extern const device_t kbc_ps2_xi8088_device; extern const device_t kbc_ps2_acer_device; +extern const device_t kbc_ps2_ali_device; extern const device_t kbc_ps2_ami_device; extern const device_t kbc_ps2_award_device; extern const device_t kbc_ps2_compaq_device; @@ -291,13 +234,7 @@ extern const device_t kbc_ps2_umc_device; extern const device_t kbc_ps2_via_device; extern const device_t kbc_ps2_tg_ami_device; extern const device_t kbc_ps2_tg_ami_green_device; -extern const device_t kbc_ps2_pci_device; -extern const device_t kbc_ps2_ami_pci_device; -extern const device_t kbc_ps2_intel_ami_pci_device; -extern const device_t kbc_ps2_acer_pci_device; -extern const device_t kbc_ps2_ali_pci_device; -extern const device_t kbc_ps2_phoenix_pci_device; -extern const device_t kbc_ps2_tg_ami_pci_device; +extern const device_t kbc_ps2_xi8088_device; extern const device_t keyboard_pc_xt_device; extern const device_t keyboard_at_device; diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index a3ddff493..e4e5abe3b 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -3022,7 +3022,7 @@ const machine_t machines[] = { .nvrmask = 63, .jumpered_ecp_dma = 0, .default_jumpered_ecp_dma = -1, - .kbc_device = &kbc_ps2_ps1_device, + .kbc_device = &kbc_ps2_device, .kbc_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, @@ -4921,7 +4921,7 @@ const machine_t machines[] = { .nvrmask = 63, .jumpered_ecp_dma = 0, .default_jumpered_ecp_dma = -1, - .kbc_device = &kbc_ps2_ps1_device, + .kbc_device = &kbc_ps2_device, .kbc_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, @@ -7011,7 +7011,7 @@ const machine_t machines[] = { .nvrmask = 127, .jumpered_ecp_dma = 0, .default_jumpered_ecp_dma = -1, - .kbc_device = &kbc_at_award_device, + .kbc_device = &kbc_at_siemens_device, .kbc_params = 0x00000000, .kbc_p1 = 0x000004f0, .gpio = 0xffffffff, diff --git a/src/sio/sio_ali5123.c b/src/sio/sio_ali5123.c index a6cd12554..5b8a8618e 100644 --- a/src/sio/sio_ali5123.c +++ b/src/sio/sio_ali5123.c @@ -530,7 +530,7 @@ ali5123_init(const device_t *info) io_sethandler(FDC_PRIMARY_ADDR, 0x0002, ali5123_read, NULL, NULL, ali5123_write, NULL, NULL, dev); - device_add(&kbc_ps2_ali_pci_device); + device_add(&kbc_ps2_ali_device); return dev; } diff --git a/src/sio/sio_w83977.c b/src/sio/sio_w83977.c index 0ac531c9b..3f1463989 100644 --- a/src/sio/sio_w83977.c +++ b/src/sio/sio_w83977.c @@ -1294,10 +1294,10 @@ w83977_init(const device_t *info) switch (dev->kbc_type) { case W83977_AMI: - dev->kbc = device_add(&kbc_ps2_ami_pci_device); + dev->kbc = device_add_params(&kbc_ps2_ami_device, (void *) 0x00004800); break; case W83977_PHOENIX: - dev->kbc = device_add(&kbc_ps2_phoenix_device); + dev->kbc = device_add_params(&kbc_ps2_phoenix_device, (void *) 0x00041900); break; }