Round 2 of the clean-ups - AT vs. PS/2 KBC is now decided based on machine flags, reduces the chances of mismatch to zero.
This commit is contained in:
@@ -167,7 +167,7 @@ sis_5571_init(UNUSED(const device_t *info))
|
||||
dev->ide = device_add_linked(&sis_5572_ide_device, dev->sis);
|
||||
dev->usb = device_add_linked(&sis_5572_usb_device, dev->sis);
|
||||
|
||||
device_add_params(&kbc_ps2_sis_device, (void *) 0x00000000);
|
||||
device_add_params(&kbc_at_sis_device, (void *) 0x00000000);
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
@@ -167,7 +167,7 @@ sis_5581_init(UNUSED(const device_t *info))
|
||||
dev->ide = device_add_linked(&sis_5582_ide_device, dev->sis);
|
||||
dev->usb = device_add_linked(&sis_5582_usb_device, dev->sis);
|
||||
|
||||
device_add_params(&kbc_ps2_sis_device, (void *) 0x00000000);
|
||||
device_add_params(&kbc_at_sis_device, (void *) 0x00000000);
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
@@ -179,7 +179,7 @@ sis_5591_init(UNUSED(const device_t *info))
|
||||
else
|
||||
dev->pmu = device_add_linked(&sis_5595_pmu_device, dev->sis);
|
||||
|
||||
device_add_params(&kbc_ps2_sis_device, (void *) 0x00000000);
|
||||
device_add_params(&kbc_at_sis_device, (void *) 0x00000000);
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
@@ -179,7 +179,7 @@ sis_5600_init(UNUSED(const device_t *info))
|
||||
else
|
||||
dev->pmu = device_add_linked(&sis_5595_pmu_device, dev->sis);
|
||||
|
||||
device_add_params(&kbc_ps2_sis_device, (void *) 0x00000000);
|
||||
device_add_params(&kbc_at_sis_device, (void *) 0x00000000);
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
@@ -420,8 +420,7 @@ umc_8886_init(const device_t *info)
|
||||
}
|
||||
|
||||
if (machine_get_kbc_device(machine) == NULL)
|
||||
device_add(machine_has_bus(machine, MACHINE_BUS_PS2) ?
|
||||
&kbc_ps2_umc_device : &kbc_at_umc_device);
|
||||
device_add(&kbc_at_umc_device);
|
||||
|
||||
umc_8886_reset(dev);
|
||||
|
||||
|
||||
@@ -1803,9 +1803,7 @@ pipc_init(const device_t *info)
|
||||
}
|
||||
|
||||
if (machine_get_kbc_device(machine) == NULL)
|
||||
device_add_params(machine_has_bus(machine, MACHINE_BUS_PS2) ?
|
||||
&kbc_ps2_via_device : &kbc_at_via_device,
|
||||
(void *) (uintptr_t) kbc_params);
|
||||
device_add_params(&kbc_at_via_device, (void *) (uintptr_t) kbc_params);
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
@@ -107,7 +107,9 @@ typedef struct atkbc_t {
|
||||
uint8_t irq_state;
|
||||
uint8_t do_irq;
|
||||
uint8_t is_asic;
|
||||
uint8_t is_green;
|
||||
uint8_t kblock_switch;
|
||||
uint8_t is_type2;
|
||||
|
||||
uint8_t mem[0x100];
|
||||
|
||||
@@ -242,7 +244,7 @@ kbc_translate(atkbc_t *dev, uint8_t val)
|
||||
{
|
||||
int xt_mode = (dev->mem[0x20] & 0x20) && !(dev->misc_flags & FLAG_PS2);
|
||||
/* The IBM AT keyboard controller firmware does not apply translation in XT mode. */
|
||||
int translate = !xt_mode && ((dev->mem[0x20] & 0x40) || ((dev->flags & KBC_TYPE_MASK) == KBC_TYPE_PS2_2));
|
||||
int translate = !xt_mode && ((dev->mem[0x20] & 0x40) || (dev->is_type2));
|
||||
uint8_t kbc_ven = dev->flags & KBC_VEN_MASK;
|
||||
int ret = - 1;
|
||||
|
||||
@@ -885,7 +887,7 @@ write_cmd(atkbc_t *dev, uint8_t val)
|
||||
kbc_at_log("ATkbc: write command byte: %02X (old: %02X)\n", val, dev->mem[0x20]);
|
||||
|
||||
/* PS/2 type 2 keyboard controllers always force the XLAT bit to 0. */
|
||||
if ((dev->flags & KBC_TYPE_MASK) == KBC_TYPE_PS2_2) {
|
||||
if (dev->is_type2) {
|
||||
val &= ~CCB_TRANSLATE;
|
||||
dev->mem[0x20] &= ~CCB_TRANSLATE;
|
||||
} else if (!(dev->misc_flags & FLAG_PS2)) {
|
||||
@@ -1066,7 +1068,7 @@ write_cmd_ami(void *priv, uint8_t val)
|
||||
coprlen = strlen(copr) + 1;
|
||||
break;
|
||||
case 0x5a:
|
||||
if ((dev->flags & KBC_TYPE_MASK) == KBC_TYPE_GREEN)
|
||||
if (dev->is_green)
|
||||
/*
|
||||
( C ) 1 9 9 0 A M I
|
||||
But TriGem forgot to reencrypt it.
|
||||
@@ -2362,7 +2364,7 @@ kbc_at_process_cmd(void *priv)
|
||||
case 0xaa: /* self-test */
|
||||
kbc_at_log("ATkbc: self-test\n");
|
||||
|
||||
if ((dev->flags & KBC_TYPE_MASK) >= KBC_TYPE_PS2_1) {
|
||||
if (machine_has_flags_ex(MACHINE_PS2_KBC)) {
|
||||
if (dev->state != STATE_RESET) {
|
||||
kbc_at_log("ATkbc: self-test reinitialization\n");
|
||||
/*
|
||||
@@ -2743,7 +2745,7 @@ kbc_at_port_1_read(uint16_t port, void *priv)
|
||||
atkbc_t *dev = (atkbc_t *) priv;
|
||||
uint8_t ret = 0xff;
|
||||
|
||||
if ((dev->flags & KBC_TYPE_MASK) >= KBC_TYPE_PS2_1)
|
||||
if (machine_has_flags_ex(MACHINE_PS2_KBC))
|
||||
cycles -= ISA_CYCLES(8);
|
||||
|
||||
ret = dev->ob;
|
||||
@@ -2768,7 +2770,7 @@ kbc_at_port_2_read(uint16_t port, void *priv)
|
||||
atkbc_t *dev = (atkbc_t *) priv;
|
||||
uint8_t ret = 0xff;
|
||||
|
||||
if ((dev->flags & KBC_TYPE_MASK) >= KBC_TYPE_PS2_1)
|
||||
if (machine_has_flags_ex(MACHINE_PS2_KBC))
|
||||
cycles -= ISA_CYCLES(8);
|
||||
|
||||
ret = dev->status;
|
||||
@@ -2804,10 +2806,10 @@ kbc_at_reset(void *priv)
|
||||
|
||||
dev->sc_or = 0;
|
||||
|
||||
dev->ami_flags = ((dev->flags & KBC_TYPE_MASK) >= KBC_TYPE_PS2_1) ? 0x01 : 0x00;
|
||||
dev->ami_flags = (machine_has_flags_ex(MACHINE_PS2_KBC)) ? 0x01 : 0x00;
|
||||
dev->misc_flags &= FLAG_PCI;
|
||||
|
||||
if ((dev->flags & KBC_TYPE_MASK) >= KBC_TYPE_PS2_1) {
|
||||
if (machine_has_flags_ex(MACHINE_PS2_KBC)) {
|
||||
dev->misc_flags |= FLAG_PS2;
|
||||
kbc_at_do_poll = kbc_at_poll_ps2;
|
||||
if (dev->irq[1] != 0xffff)
|
||||
@@ -2824,7 +2826,7 @@ kbc_at_reset(void *priv)
|
||||
dev->misc_flags |= FLAG_CACHE;
|
||||
|
||||
dev->p2 = 0xcd;
|
||||
if ((dev->flags & KBC_TYPE_MASK) >= KBC_TYPE_PS2_1) {
|
||||
if (machine_has_flags_ex(MACHINE_PS2_KBC)) {
|
||||
write_p2(dev, 0x4b);
|
||||
} else {
|
||||
/* The real thing writes CF and then AND's it with BF. */
|
||||
@@ -2840,7 +2842,7 @@ kbc_at_close(void *priv)
|
||||
{
|
||||
atkbc_t *dev = (atkbc_t *) priv;
|
||||
#ifdef OLD_CODE
|
||||
int max_ports = ((dev->flags & KBC_TYPE_MASK) >= KBC_TYPE_PS2_1) ? 2 : 1;
|
||||
int max_ports = machine_has_flags_ex(MACHINE_PS2_KBC) ? 2 : 1;
|
||||
#else
|
||||
int max_ports = 2;
|
||||
#endif
|
||||
@@ -2891,7 +2893,7 @@ kbc_at_set_irq(int num, uint16_t irq, void *priv)
|
||||
atkbc_t *dev = (atkbc_t *) priv;
|
||||
|
||||
if (dev->irq[num] != 0xffff) {
|
||||
if ((num == 0) && ((dev->flags & KBC_TYPE_MASK) < KBC_TYPE_PS2_1))
|
||||
if ((num == 0) && !machine_has_flags_ex(MACHINE_PS2_KBC))
|
||||
picintclevel(1 << dev->irq[num], &dev->irq_state);
|
||||
else
|
||||
picintc(1 << dev->irq[num]);
|
||||
@@ -2912,7 +2914,8 @@ kbc_at_init(const device_t *info)
|
||||
|
||||
dev->flags = info->local;
|
||||
|
||||
dev->is_asic = !!(info->local & KBC_FLAG_IS_ASIC);
|
||||
dev->is_asic = !!(info->local & KBC_FLAG_IS_ASIC);
|
||||
dev->is_type2 = !!(info->local & KBC_FLAG_IS_TYPE2);
|
||||
|
||||
video_reset(gfxcard[0]);
|
||||
kbc_at_reset(dev);
|
||||
@@ -2974,6 +2977,7 @@ kbc_at_init(const device_t *info)
|
||||
break;
|
||||
|
||||
case KBC_VEN_AMI_TRIGEM:
|
||||
dev->is_green = !!(info->local & KBC_FLAG_IS_GREEN);
|
||||
kbc_ami_revision = 'Z';
|
||||
dev->write_cmd_data_ven = write_cmd_data_ami;
|
||||
dev->write_cmd_ven = write_cmd_ami;
|
||||
@@ -2981,27 +2985,8 @@ kbc_at_init(const device_t *info)
|
||||
|
||||
case KBC_VEN_AMI:
|
||||
case KBC_VEN_HOLTEK:
|
||||
kbc_ami_is_clone = !!(info->local & 0x010000);
|
||||
if ((info->local & 0xff00) != 0x0000)
|
||||
kbc_ami_revision = (info->local >> 8) & 0xff;
|
||||
else if ((dev->flags & KBC_TYPE_MASK) == KBC_TYPE_GREEN)
|
||||
kbc_ami_revision = '5';
|
||||
else if ((dev->flags & KBC_TYPE_MASK) >= KBC_TYPE_PS2_1) {
|
||||
if (cpu_64bitbus)
|
||||
kbc_ami_revision = 'R';
|
||||
else if (is486)
|
||||
kbc_ami_revision = 'P';
|
||||
else
|
||||
kbc_ami_revision = 'H';
|
||||
} else if (is386 && !is486) {
|
||||
if (cpu_16bitbus)
|
||||
kbc_ami_revision = 'D';
|
||||
else
|
||||
kbc_ami_revision = 'B';
|
||||
} else if (!is386)
|
||||
kbc_ami_revision = '8';
|
||||
else
|
||||
kbc_ami_revision = 'F';
|
||||
kbc_ami_is_clone = !!(info->local & KBC_FLAG_IS_CLONE);
|
||||
kbc_ami_revision = (info->local >> 8) & 0xff;
|
||||
|
||||
dev->write_cmd_data_ven = write_cmd_data_ami;
|
||||
dev->write_cmd_ven = write_cmd_ami;
|
||||
@@ -3051,11 +3036,7 @@ kbc_at_init(const device_t *info)
|
||||
break;
|
||||
}
|
||||
|
||||
#ifdef OLD_CODE
|
||||
max_ports = ((dev->flags & KBC_TYPE_MASK) >= KBC_TYPE_PS2_1) ? 2 : 1;
|
||||
#else
|
||||
max_ports = 2;
|
||||
#endif
|
||||
|
||||
for (int i = 0; i < max_ports; i++) {
|
||||
kbc_at_ports[i] = (kbc_at_port_t *) calloc(1, sizeof(kbc_at_port_t));
|
||||
@@ -3068,11 +3049,11 @@ kbc_at_init(const device_t *info)
|
||||
/* The actual keyboard. */
|
||||
if (keyboard_type == KEYBOARD_TYPE_INTERNAL) {
|
||||
if (machine_has_flags(machine, MACHINE_KEYBOARD_JIS))
|
||||
device_add(((dev->flags & KBC_TYPE_MASK) >= KBC_TYPE_PS2_1) ? &keyboard_ps55_device :
|
||||
device_add(machine_has_flags_ex(MACHINE_PS2_KBC) ? &keyboard_ps55_device :
|
||||
&keyboard_ax_device);
|
||||
else
|
||||
device_add_params(&keyboard_at_generic_device, (void *) (uintptr_t)
|
||||
(((dev->flags & KBC_TYPE_MASK) >= KBC_TYPE_PS2_1) ? FLAG_PS2_KBD : 0x00));
|
||||
(machine_has_flags_ex(MACHINE_PS2_KBC) ? FLAG_PS2_KBD : 0x00));
|
||||
} else
|
||||
keyboard_add_device();
|
||||
|
||||
@@ -3087,7 +3068,7 @@ const device_t kbc_at_device = {
|
||||
.name = "PC/AT Keyboard Controller",
|
||||
.internal_name = "kbc_at",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_ISA | KBC_VEN_GENERIC,
|
||||
.local = KBC_VEN_GENERIC,
|
||||
.init = kbc_at_init,
|
||||
.close = kbc_at_close,
|
||||
.reset = kbc_at_reset,
|
||||
@@ -3097,11 +3078,25 @@ const device_t kbc_at_device = {
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t kbc_at_siemens_device = {
|
||||
.name = "PC/AT Keyboard Controller",
|
||||
const device_t kbc_at_acer_device = {
|
||||
.name = "PC/AT Keyboard (Acer 90M002A)",
|
||||
.internal_name = "keyboard_at_acer",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = 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_at_ali_device = {
|
||||
.name = "PC/AT Keyboard Controller (ALi M5123/M1543C)",
|
||||
.internal_name = "kbc_at",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_ISA | KBC_VEN_SIEMENS,
|
||||
.local = KBC_VEN_ALI,
|
||||
.init = kbc_at_init,
|
||||
.close = kbc_at_close,
|
||||
.reset = kbc_at_reset,
|
||||
@@ -3115,7 +3110,7 @@ const device_t kbc_at_ami_device = {
|
||||
.name = "PC/AT Keyboard Controller (AMI)",
|
||||
.internal_name = "kbc_at_ami",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_ISA | KBC_VEN_AMI,
|
||||
.local = KBC_VEN_AMI,
|
||||
.init = kbc_at_init,
|
||||
.close = kbc_at_close,
|
||||
.reset = kbc_at_reset,
|
||||
@@ -3125,25 +3120,11 @@ const device_t kbc_at_ami_device = {
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t kbc_at_holtek_device = {
|
||||
.name = "PC/AT Keyboard (Holtek)",
|
||||
.internal_name = "keyboard_at_holtek",
|
||||
const device_t kbc_at_ami_tg_device = {
|
||||
.name = "PC/AT Keyboard Controller (TriGem AMI)",
|
||||
.internal_name = "kbc_at_ami_tg",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_ISA | KBC_VEN_HOLTEK | KBC_FLAG_IS_ASIC,
|
||||
.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_at_umc_device = {
|
||||
.name = "PC/AT Keyboard (UMC)",
|
||||
.internal_name = "keyboard_at_umc",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_ISA | KBC_VEN_UMC | KBC_FLAG_IS_ASIC,
|
||||
.local = KBC_VEN_AMI_TRIGEM,
|
||||
.init = kbc_at_init,
|
||||
.close = kbc_at_close,
|
||||
.reset = kbc_at_reset,
|
||||
@@ -3157,7 +3138,7 @@ const device_t kbc_at_award_device = {
|
||||
.name = "PC/AT Keyboard (Award)",
|
||||
.internal_name = "keyboard_at_award",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_ISA | KBC_VEN_AWARD,
|
||||
.local = KBC_VEN_AWARD,
|
||||
.init = kbc_at_init,
|
||||
.close = kbc_at_close,
|
||||
.reset = kbc_at_reset,
|
||||
@@ -3171,91 +3152,7 @@ const device_t kbc_at_chips_device = {
|
||||
.name = "PC/AT Keyboard (C&T)",
|
||||
.internal_name = "keyboard_at_chips",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_ISA | KBC_VEN_CHIPS,
|
||||
.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_at_quadtel_device = {
|
||||
.name = "PC/AT Keyboard (Quadtel)",
|
||||
.internal_name = "keyboard_at_quadtel",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_ISA | KBC_VEN_QUADTEL,
|
||||
.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_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_AMI_TRIGEM,
|
||||
.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_at_toshiba_device = {
|
||||
.name = "PC/AT Keyboard Controller (Toshiba)",
|
||||
.internal_name = "kbc_at_toshiba",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_ISA | KBC_VEN_TOSHIBA,
|
||||
.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_at_olivetti_device = {
|
||||
.name = "PC/AT Keyboard Controller (Olivetti)",
|
||||
.internal_name = "kbc_at_olivetti",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_ISA | KBC_VEN_OLIVETTI,
|
||||
.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_at_ncr_device = {
|
||||
.name = "PC/AT Keyboard Controller (NCR)",
|
||||
.internal_name = "kbc_at_ncr",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_ISA | KBC_VEN_NCR,
|
||||
.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_at_via_device = {
|
||||
.name = "PC/AT Keyboard (VIA)",
|
||||
.internal_name = "keyboard_at_via",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_ISA | KBC_VEN_VIA | KBC_FLAG_IS_ASIC,
|
||||
.local = KBC_VEN_CHIPS,
|
||||
.init = kbc_at_init,
|
||||
.close = kbc_at_close,
|
||||
.reset = kbc_at_reset,
|
||||
@@ -3269,7 +3166,63 @@ const device_t kbc_at_compaq_device = {
|
||||
.name = "PC/AT Keyboard Controller (Compaq)",
|
||||
.internal_name = "kbc_at_compaq",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_ISA | KBC_VEN_COMPAQ,
|
||||
.local = KBC_VEN_COMPAQ,
|
||||
.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_at_holtek_device = {
|
||||
.name = "PC/AT Keyboard (Holtek)",
|
||||
.internal_name = "keyboard_at_holtek",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_VEN_HOLTEK | KBC_FLAG_IS_ASIC,
|
||||
.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_at_ibm_mca_device = {
|
||||
.name = "PC/AT Keyboard Controller (IBM PS/2 MCA)",
|
||||
.internal_name = "kbc_at_ibm_mca",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_VEN_IBM,
|
||||
.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_at_ncr_device = {
|
||||
.name = "PC/AT Keyboard Controller (NCR)",
|
||||
.internal_name = "kbc_at_ncr",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_VEN_NCR,
|
||||
.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_at_olivetti_device = {
|
||||
.name = "PC/AT Keyboard Controller (Olivetti)",
|
||||
.internal_name = "kbc_at_olivetti",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_VEN_OLIVETTI,
|
||||
.init = kbc_at_init,
|
||||
.close = kbc_at_close,
|
||||
.reset = kbc_at_reset,
|
||||
@@ -3283,7 +3236,7 @@ const device_t kbc_at_phoenix_device = {
|
||||
.name = "PC/AT Keyboard Controller (Phoenix)",
|
||||
.internal_name = "kbc_at_phoenix",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_ISA | KBC_VEN_PHOENIX,
|
||||
.local = KBC_VEN_PHOENIX,
|
||||
.init = kbc_at_init,
|
||||
.close = kbc_at_close,
|
||||
.reset = kbc_at_reset,
|
||||
@@ -3293,11 +3246,11 @@ const device_t kbc_at_phoenix_device = {
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t kbc_ps2_device = {
|
||||
.name = "PS/2 Keyboard Controller",
|
||||
.internal_name = "kbc_ps2",
|
||||
const device_t kbc_at_quadtel_device = {
|
||||
.name = "PC/AT Keyboard (Quadtel)",
|
||||
.internal_name = "keyboard_at_quadtel",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_PS2_1 | KBC_VEN_GENERIC,
|
||||
.local = KBC_VEN_QUADTEL,
|
||||
.init = kbc_at_init,
|
||||
.close = kbc_at_close,
|
||||
.reset = kbc_at_reset,
|
||||
@@ -3307,11 +3260,11 @@ const device_t kbc_ps2_device = {
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t kbc_ps2_xi8088_device = {
|
||||
.name = "PS/2 Keyboard Controller (Xi8088)",
|
||||
.internal_name = "kbc_ps2_xi8088",
|
||||
const device_t kbc_at_siemens_device = {
|
||||
.name = "PC/AT Keyboard Controller",
|
||||
.internal_name = "kbc_at_siemens",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_PS2_1 | KBC_VEN_GENERIC,
|
||||
.local = KBC_VEN_SIEMENS,
|
||||
.init = kbc_at_init,
|
||||
.close = kbc_at_close,
|
||||
.reset = kbc_at_reset,
|
||||
@@ -3321,11 +3274,11 @@ const device_t kbc_ps2_xi8088_device = {
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t kbc_ps2_acer_device = {
|
||||
.name = "PS/2 Keyboard (Acer 90M002A)",
|
||||
.internal_name = "keyboard_ps2_acer_pci",
|
||||
const device_t kbc_at_sis_device = {
|
||||
.name = "PC/AT Keyboard Controller (SiS 5xxx)",
|
||||
.internal_name = "kbc_at_sis",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_PS2_1 | KBC_VEN_ACER,
|
||||
.local = KBC_VEN_SIS,
|
||||
.init = kbc_at_init,
|
||||
.close = kbc_at_close,
|
||||
.reset = kbc_at_reset,
|
||||
@@ -3335,11 +3288,11 @@ const device_t kbc_ps2_acer_device = {
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t kbc_ps2_ami_device = {
|
||||
.name = "PS/2 Keyboard Controller (AMI)",
|
||||
.internal_name = "kbc_ps2_ami",
|
||||
const device_t kbc_at_toshiba_device = {
|
||||
.name = "PC/AT Keyboard Controller (Toshiba)",
|
||||
.internal_name = "kbc_at_toshiba",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_PS2_1 | KBC_VEN_AMI,
|
||||
.local = KBC_VEN_TOSHIBA,
|
||||
.init = kbc_at_init,
|
||||
.close = kbc_at_close,
|
||||
.reset = kbc_at_reset,
|
||||
@@ -3349,11 +3302,11 @@ const device_t kbc_ps2_ami_device = {
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t kbc_ps2_compaq_device = {
|
||||
.name = "PS/2 Keyboard Controller (Compaq)",
|
||||
.internal_name = "kbc_at_compaq",
|
||||
const device_t kbc_at_umc_device = {
|
||||
.name = "PC/AT Keyboard (UMC)",
|
||||
.internal_name = "keyboard_at_umc",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_PS2_1 | KBC_VEN_COMPAQ,
|
||||
.local = KBC_VEN_UMC | KBC_FLAG_IS_ASIC,
|
||||
.init = kbc_at_init,
|
||||
.close = kbc_at_close,
|
||||
.reset = kbc_at_reset,
|
||||
@@ -3363,11 +3316,11 @@ const device_t kbc_ps2_compaq_device = {
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t kbc_ps2_holtek_device = {
|
||||
.name = "PS/2 Keyboard Controller (Holtek)",
|
||||
.internal_name = "kbc_ps2_holtek",
|
||||
const device_t kbc_at_via_device = {
|
||||
.name = "PC/AT Keyboard (VIA)",
|
||||
.internal_name = "keyboard_at_via",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_PS2_1 | KBC_VEN_HOLTEK | KBC_FLAG_IS_ASIC,
|
||||
.local = KBC_VEN_VIA | KBC_FLAG_IS_ASIC,
|
||||
.init = kbc_at_init,
|
||||
.close = kbc_at_close,
|
||||
.reset = kbc_at_reset,
|
||||
@@ -3377,138 +3330,11 @@ const device_t kbc_ps2_holtek_device = {
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
|
||||
const device_t kbc_ps2_umc_device = {
|
||||
.name = "PS/2 Keyboard (UMC)",
|
||||
.internal_name = "keyboard_ps2_umc",
|
||||
const device_t kbc_at_xi8088_device = {
|
||||
.name = "PC/AT Keyboard Controller (Xi8088)",
|
||||
.internal_name = "kbc_at_xi8088",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_PS2_1 | KBC_VEN_UMC | KBC_FLAG_IS_ASIC,
|
||||
.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_award_device = {
|
||||
.name = "PS/2 Keyboard (Award)",
|
||||
.internal_name = "keyboard_ps2_award",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_PS2_1 | KBC_VEN_AWARD,
|
||||
.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_via_device = {
|
||||
.name = "PS/2 Keyboard (VIA)",
|
||||
.internal_name = "keyboard_ps2_via",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_PS2_1 | KBC_VEN_VIA | KBC_FLAG_IS_ASIC,
|
||||
.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_device = {
|
||||
.name = "PS/2 Keyboard Controller (Phoenix)",
|
||||
.internal_name = "kbc_ps2_phoenix",
|
||||
.flags = DEVICE_KBC,
|
||||
.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
|
||||
};
|
||||
|
||||
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_AMI_TRIGEM,
|
||||
.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_mca_1_device = {
|
||||
.name = "PS/2 Keyboard Controller (IBM PS/2 MCA Type 1)",
|
||||
.internal_name = "kbc_ps2_mca_1",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_PS2_1 | KBC_VEN_IBM,
|
||||
.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_mca_2_device = {
|
||||
.name = "PS/2 Keyboard Controller (IBM PS/2 MCA Type 2)",
|
||||
.internal_name = "kbc_ps2_mca_2",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_PS2_2 | KBC_VEN_IBM,
|
||||
.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_quadtel_device = {
|
||||
.name = "PS/2 Keyboard Controller (Quadtel/MegaPC)",
|
||||
.internal_name = "kbc_ps2_quadtel",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_PS2_1 | KBC_VEN_QUADTEL,
|
||||
.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_sis_device = {
|
||||
.name = "PS/2 Keyboard Controller (SiS 5xxx)",
|
||||
.internal_name = "kbc_ps2_sis",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_PS2_1 | KBC_VEN_SIS,
|
||||
.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_device = {
|
||||
.name = "PS/2 Keyboard Controller (ALi M5123/M1543C)",
|
||||
.internal_name = "kbc_ps2_ali_pci",
|
||||
.flags = DEVICE_KBC,
|
||||
.local = KBC_TYPE_PS2_1 | KBC_VEN_ALI,
|
||||
.local = KBC_VEN_GENERIC,
|
||||
.init = kbc_at_init,
|
||||
.close = kbc_at_close,
|
||||
.reset = kbc_at_reset,
|
||||
|
||||
@@ -129,34 +129,35 @@ typedef struct scancode {
|
||||
#define RSHIFT_ON 0x104
|
||||
#define RSHIFT_OFF 0x105
|
||||
|
||||
#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_TYPE_AT 0x00 /* AT */
|
||||
#define KBC_TYPE_PS2 0x01 /* PS2 on PS/2, type 1 */
|
||||
#define KBC_TYPE_MASK 0x01
|
||||
|
||||
#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_VEN_ACER 0x02
|
||||
#define KBC_VEN_ALI 0x04
|
||||
#define KBC_VEN_AMI 0x06
|
||||
#define KBC_VEN_AMI_TRIGEM 0x08
|
||||
#define KBC_VEN_AWARD 0x0a
|
||||
#define KBC_VEN_CHIPS 0x0c
|
||||
#define KBC_VEN_COMPAQ 0x0e
|
||||
#define KBC_VEN_HOLTEK 0x10
|
||||
#define KBC_VEN_IBM 0x12
|
||||
#define KBC_VEN_NCR 0x14
|
||||
#define KBC_VEN_OLIVETTI 0x16
|
||||
#define KBC_VEN_QUADTEL 0x18
|
||||
#define KBC_VEN_PHOENIX 0x1a
|
||||
#define KBC_VEN_SIEMENS 0x1c
|
||||
#define KBC_VEN_TOSHIBA 0x1e
|
||||
#define KBC_VEN_VIA 0x20
|
||||
#define KBC_VEN_UMC 0x22
|
||||
#define KBC_VEN_SIS 0x24
|
||||
#define KBC_VEN_MASK 0x3e
|
||||
|
||||
#define KBC_FLAG_IS_ASIC 0x80000000
|
||||
#define KBC_FLAG_IS_CLONE 0x40000000
|
||||
#define KBC_FLAG_IS_GREEN 0x20000000
|
||||
#define KBC_FLAG_IS_TYPE2 0x10000000
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -202,39 +203,25 @@ 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_acer_device;
|
||||
extern const device_t kbc_at_ali_device;
|
||||
extern const device_t kbc_at_ami_device;
|
||||
extern const device_t kbc_at_ami_tg_device;
|
||||
extern const device_t kbc_at_award_device;
|
||||
extern const device_t kbc_at_chips_device;
|
||||
extern const device_t kbc_at_compaq_device;
|
||||
extern const device_t kbc_at_holtek_device;
|
||||
extern const device_t kbc_at_ibm_mca_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_sis_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_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;
|
||||
extern const device_t kbc_ps2_holtek_device;
|
||||
extern const device_t kbc_ps2_mca_1_device;
|
||||
extern const device_t kbc_ps2_mca_2_device;
|
||||
extern const device_t kbc_ps2_olivetti_device;
|
||||
extern const device_t kbc_ps2_phoenix_device;
|
||||
extern const device_t kbc_ps2_quadtel_device;
|
||||
extern const device_t kbc_ps2_sis_device;
|
||||
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_xi8088_device;
|
||||
extern const device_t kbc_at_xi8088_device;
|
||||
|
||||
extern const device_t keyboard_pc_xt_device;
|
||||
extern const device_t keyboard_at_device;
|
||||
|
||||
@@ -409,6 +409,9 @@ extern const char * machine_get_internal_name_ex(int m);
|
||||
extern const char * machine_get_nvr_name_ex(int m);
|
||||
extern int machine_get_nvrmask(int m);
|
||||
extern int machine_has_flags(int m, int flags);
|
||||
extern void machine_set_ps2(void);
|
||||
extern void machine_force_ps2(int is_ps2);
|
||||
extern int machine_has_flags_ex(int flags);
|
||||
extern int machine_has_bus(int m, int bus_flags);
|
||||
extern int machine_has_cartridge(int m);
|
||||
extern int machine_has_jumpered_ecp_dma(int m, int dma);
|
||||
|
||||
@@ -1398,9 +1398,10 @@ machine_at_hot433a_init(const machine_t *model)
|
||||
device_add_params(&um8669f_device, (void *) 0);
|
||||
device_add(&winbond_flash_w29c010_device);
|
||||
if (is_award)
|
||||
device_add_params(&kbc_ps2_holtek_device, (void *) model->kbc_params);
|
||||
machine_force_ps2(1);
|
||||
else
|
||||
device_add_params(&kbc_at_holtek_device, (void *) model->kbc_params);
|
||||
machine_force_ps2(0);
|
||||
device_add_params(&kbc_at_holtek_device, (void *) model->kbc_params);
|
||||
|
||||
pic_toggle_latch(is_award);
|
||||
|
||||
|
||||
@@ -139,6 +139,9 @@ void
|
||||
machine_init(void)
|
||||
{
|
||||
bios_only = 0;
|
||||
|
||||
machine_set_ps2();
|
||||
|
||||
(void) machine_init_ex(machine);
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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_device);
|
||||
device_add(&kbc_at_ali_device);
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
@@ -764,20 +764,20 @@ fdc37c67x_init(const device_t *info)
|
||||
|
||||
switch (dev->kbc_type) {
|
||||
case FDC37XXX1:
|
||||
dev->kbc = device_add(&kbc_ps2_compaq_device);
|
||||
dev->kbc = device_add(&kbc_at_compaq_device);
|
||||
break;
|
||||
case FDC37XXX2:
|
||||
dev->kbc = device_add_params(&kbc_ps2_ami_device, (void *) 0x00003500);
|
||||
dev->kbc = device_add_params(&kbc_at_ami_device, (void *) 0x00003500);
|
||||
break;
|
||||
case FDC37XXX3:
|
||||
default:
|
||||
dev->kbc = device_add(&kbc_ps2_device);
|
||||
dev->kbc = device_add(&kbc_at_device);
|
||||
break;
|
||||
case FDC37XXX5:
|
||||
dev->kbc = device_add_params(&kbc_ps2_phoenix_device, (void *) 0x00013800);
|
||||
dev->kbc = device_add_params(&kbc_at_phoenix_device, (void *) 0x00013800);
|
||||
break;
|
||||
case FDC37XXX7:
|
||||
dev->kbc = device_add_params(&kbc_ps2_phoenix_device, (void *) 0x00041600);
|
||||
dev->kbc = device_add_params(&kbc_at_phoenix_device, (void *) 0x00041600);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -1919,20 +1919,20 @@ fdc37c93x_init(const device_t *info)
|
||||
|
||||
switch (dev->kbc_type) {
|
||||
case FDC37XXX1:
|
||||
dev->kbc = device_add(&kbc_ps2_compaq_device);
|
||||
dev->kbc = device_add(&kbc_at_compaq_device);
|
||||
break;
|
||||
case FDC37XXX2:
|
||||
dev->kbc = device_add_params(&kbc_ps2_ami_device, (void *) 0x00003500);
|
||||
dev->kbc = device_add_params(&kbc_at_ami_device, (void *) 0x00003500);
|
||||
break;
|
||||
case FDC37XXX3:
|
||||
default:
|
||||
dev->kbc = device_add(&kbc_ps2_device);
|
||||
dev->kbc = device_add(&kbc_at_device);
|
||||
break;
|
||||
case FDC37XXX5:
|
||||
dev->kbc = device_add_params(&kbc_ps2_phoenix_device, (void *) 0x00013800);
|
||||
dev->kbc = device_add_params(&kbc_at_phoenix_device, (void *) 0x00013800);
|
||||
break;
|
||||
case FDC37XXX7:
|
||||
dev->kbc = device_add_params(&kbc_ps2_phoenix_device, (void *) 0x00041600);
|
||||
dev->kbc = device_add_params(&kbc_at_phoenix_device, (void *) 0x00041600);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -655,20 +655,20 @@ fdc37m60x_init(const device_t *info)
|
||||
|
||||
switch (dev->kbc_type) {
|
||||
case FDC37XXX1:
|
||||
dev->kbc = device_add(&kbc_ps2_compaq_device);
|
||||
dev->kbc = device_add(&kbc_at_compaq_device);
|
||||
break;
|
||||
case FDC37XXX2:
|
||||
dev->kbc = device_add_params(&kbc_ps2_ami_device, (void *) 0x00003500);
|
||||
dev->kbc = device_add_params(&kbc_at_ami_device, (void *) 0x00003500);
|
||||
break;
|
||||
case FDC37XXX3:
|
||||
default:
|
||||
dev->kbc = device_add(&kbc_ps2_device);
|
||||
dev->kbc = device_add(&kbc_at_device);
|
||||
break;
|
||||
case FDC37XXX5:
|
||||
dev->kbc = device_add_params(&kbc_ps2_phoenix_device, (void *) 0x00013800);
|
||||
dev->kbc = device_add_params(&kbc_at_phoenix_device, (void *) 0x00013800);
|
||||
break;
|
||||
case FDC37XXX7:
|
||||
dev->kbc = device_add_params(&kbc_ps2_phoenix_device, (void *) 0x00041600);
|
||||
dev->kbc = device_add_params(&kbc_at_phoenix_device, (void *) 0x00041600);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -856,7 +856,7 @@ it86x1f_init(UNUSED(const device_t *info))
|
||||
io_sethandler(0x279, 1, NULL, NULL, NULL, it86x1f_write_unlock, NULL, NULL, dev);
|
||||
|
||||
if (info->local == ITE_IT8671F)
|
||||
device_add_params(&kbc_ps2_ami_device, (void *) 0x00004800);
|
||||
device_add_params(&kbc_at_ami_device, (void *) 0x00004800);
|
||||
|
||||
it86x1f_reset(dev);
|
||||
|
||||
|
||||
@@ -537,13 +537,13 @@ pc87306_init(UNUSED(const device_t *info))
|
||||
switch (dev->kbc_type) {
|
||||
case PCX730X_AMI:
|
||||
default:
|
||||
dev->kbc = device_add_params(&kbc_ps2_ami_device, (void *) 0x00003500);
|
||||
dev->kbc = device_add_params(&kbc_at_ami_device, (void *) 0x00003500);
|
||||
break;
|
||||
case PCX730X_PHOENIX_42:
|
||||
dev->kbc = device_add_params(&kbc_ps2_phoenix_device, (void *) 0x00013700);
|
||||
dev->kbc = device_add_params(&kbc_at_phoenix_device, (void *) 0x00013700);
|
||||
break;
|
||||
case PCX730X_PHOENIX_42I:
|
||||
dev->kbc = device_add_params(&kbc_ps2_phoenix_device, (void *) 0x00041600);
|
||||
dev->kbc = device_add_params(&kbc_at_phoenix_device, (void *) 0x00041600);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -904,14 +904,14 @@ pc87307_init(const device_t *info)
|
||||
switch (info->local & PCX730X_KBC) {
|
||||
case PCX730X_AMI:
|
||||
default:
|
||||
dev->kbc = device_add_params(&kbc_ps2_ami_device, (void *) 0x00003500);
|
||||
dev->kbc = device_add_params(&kbc_at_ami_device, (void *) 0x00003500);
|
||||
break;
|
||||
/* Optiplex! */
|
||||
case PCX730X_PHOENIX_42:
|
||||
dev->kbc = device_add_params(&kbc_ps2_phoenix_device, (void *) 0x00013700);
|
||||
dev->kbc = device_add_params(&kbc_at_phoenix_device, (void *) 0x00013700);
|
||||
break;
|
||||
case PCX730X_PHOENIX_42I:
|
||||
dev->kbc = device_add_params(&kbc_ps2_phoenix_device, (void *) 0x00041600);
|
||||
dev->kbc = device_add_params(&kbc_at_phoenix_device, (void *) 0x00041600);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -739,14 +739,14 @@ pc87309_init(const device_t *info)
|
||||
switch (info->local & PCX730X_KBC) {
|
||||
case PCX730X_AMI:
|
||||
default:
|
||||
dev->kbc = device_add_params(&kbc_ps2_ami_device, (void *) 0x00003500);
|
||||
dev->kbc = device_add_params(&kbc_at_ami_device, (void *) 0x00003500);
|
||||
break;
|
||||
/* Optiplex! */
|
||||
case PCX730X_PHOENIX_42:
|
||||
dev->kbc = device_add_params(&kbc_ps2_phoenix_device, (void *) 0x00013700);
|
||||
dev->kbc = device_add_params(&kbc_at_phoenix_device, (void *) 0x00013700);
|
||||
break;
|
||||
case PCX730X_PHOENIX_42I:
|
||||
dev->kbc = device_add_params(&kbc_ps2_phoenix_device, (void *) 0x00041600);
|
||||
dev->kbc = device_add_params(&kbc_at_phoenix_device, (void *) 0x00041600);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -1294,10 +1294,10 @@ w83977_init(const device_t *info)
|
||||
|
||||
switch (dev->kbc_type) {
|
||||
case W83977_AMI:
|
||||
dev->kbc = device_add_params(&kbc_ps2_ami_device, (void *) 0x00004800);
|
||||
dev->kbc = device_add_params(&kbc_at_ami_device, (void *) 0x00004800);
|
||||
break;
|
||||
case W83977_PHOENIX:
|
||||
dev->kbc = device_add_params(&kbc_ps2_phoenix_device, (void *) 0x00041900);
|
||||
dev->kbc = device_add_params(&kbc_at_phoenix_device, (void *) 0x00041900);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user