KBC Changes from older obat branch

Co-Authored-By: Miran Grča <oubattler@gmail.com>
This commit is contained in:
Jasmine Iwanek
2025-08-16 00:48:29 -04:00
parent e560cf92d1
commit 10c18cb0fe
18 changed files with 1060 additions and 703 deletions

View File

@@ -419,6 +419,10 @@ umc_8886_init(const device_t *info)
device_add(&ide_um8673f_device);
}
if (machine_get_kbc_device(machine) == NULL)
device_add(machine_has_bus(machine, MACHINE_BUS_PS2) ?
&kbc_ps2_umc_device : &kbc_at_umc_device);
umc_8886_reset(dev);
return dev;

View File

@@ -8,15 +8,15 @@
*
* Handling of the emulated machines.
*
*
*
* Authors: Sarah Walker, <https://pcem-emulator.co.uk/>
* Miran Grca, <mgrca8@gmail.com>
* Fred N. van Kempen, <decwiz@yahoo.com>
* Jasmine Iwanek, <jriwanek@gmail.com>
*
* Copyright 2008-2020 Sarah Walker.
* Copyright 2016-2020 Miran Grca.
* Copyright 2016-2025 Miran Grca.
* Copyright 2017-2020 Fred N. van Kempen.
* Copyright 2025 Jasmine Iwanek.
*/
#ifndef EMU_MACHINE_H
@@ -338,7 +338,7 @@ typedef struct _machine_ {
uint32_t type;
uintptr_t chipset;
int (*init)(const struct _machine_ *);
uint8_t (*p1_handler)(uint8_t write, uint8_t val);
uint8_t (*p1_handler)(void);
uint32_t (*gpio_handler)(uint8_t write, uint32_t val);
uintptr_t available_flag;
uint32_t (*gpio_acpi_handler)(uint8_t write, uint32_t val);
@@ -424,13 +424,19 @@ extern void machine_close(void);
extern int machine_has_mouse(void);
extern int machine_is_sony(void);
extern uint8_t machine_compaq_p1_handler(void);
extern uint8_t machine_generic_p1_handler(void);
extern uint8_t machine_ncr_p1_handler(void);
extern uint8_t machine_ps1_p1_handler(void);
extern uint8_t machine_t3100e_p1_handler(void);
extern uint8_t machine_get_p1_default(void);
extern uint8_t machine_get_p1(void);
extern void machine_set_p1_default(uint8_t val);
extern void machine_set_p1(uint8_t val);
extern void machine_and_p1(uint8_t val);
extern void machine_init_p1(void);
extern uint8_t machine_handle_p1(uint8_t write, uint8_t val);
extern uint8_t machine_get_p1(uint8_t kbc_p1);
extern uint32_t machine_get_gpio_default(void);
extern uint32_t machine_get_gpio(void);
extern void machine_set_gpio_default(uint32_t val);

View File

@@ -136,7 +136,7 @@ machine_at_ibm_common_init(const machine_t *model)
{
machine_at_common_init_ex(model, 1);
device_add(&kbc_at_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
mem_remap_top(384);
@@ -358,7 +358,7 @@ machine_at_mr286_init(const machine_t *model)
return ret;
machine_at_common_ide_init(model);
device_add(&kbc_at_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -366,6 +366,23 @@ machine_at_mr286_init(const machine_t *model)
return ret;
}
uint8_t
machine_ncr_p1_handler(void)
{
/* 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) */
return (video_is_mda() ? 0x40 : 0x00) | (hasfpu ? 0x08 : 0x00) | 0x90;
}
/*
* Current bugs:
* - ctrl-alt-del produces an 8042 error
@@ -383,7 +400,7 @@ machine_at_pc8_init(const machine_t *model)
return ret;
machine_at_common_init(model);
device_add(&kbc_at_ncr_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -411,7 +428,7 @@ machine_at_m290_init(const machine_t *model)
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
device_add(&kbc_at_olivetti_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -524,7 +541,7 @@ machine_at_siemens_init(const machine_t *model)
machine_at_common_init_ex(model, 1);
device_add(&kbc_at_siemens_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
mem_remap_top(384);
@@ -578,7 +595,7 @@ machine_at_super286c_init(const machine_t *model)
machine_at_common_init(model);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -652,7 +669,7 @@ machine_at_quadt286_init(const machine_t *model)
return ret;
machine_at_common_init(model);
device_add(&kbc_at_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -665,7 +682,7 @@ machine_at_quadt286_init(const machine_t *model)
void
machine_at_headland_common_init(const machine_t *model, int type)
{
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if ((type != 2) && (fdc_current[0] == FDC_INTERNAL))
device_add(&fdc_at_device);
@@ -741,7 +758,7 @@ machine_at_neat_ami_init(const machine_t *model)
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -771,7 +788,7 @@ machine_at_3302_init(const machine_t *model)
if (gfxcard[0] == VID_INTERNAL)
device_add(machine_get_vid_device(machine));
device_add(&kbc_at_ncr_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -788,7 +805,7 @@ machine_at_px286_init(const machine_t *model)
return ret;
machine_at_common_init(model);
device_add(&kbc_at_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -829,17 +846,7 @@ machine_at_scat_init(const machine_t *model, int is_v4, int is_ami)
{
machine_at_common_init(model);
if ((machines[machine].bus_flags & MACHINE_BUS_PS2) && (strcmp(machine_get_internal_name(), "pc5286"))) {
if (is_ami)
device_add(&kbc_ps2_ami_device);
else
device_add(&kbc_ps2_device);
} else {
if (is_ami)
device_add(&kbc_at_ami_device);
else
device_add(&kbc_at_device);
}
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (is_v4)
device_add(&scat_4_device);

View File

@@ -51,6 +51,12 @@
#include <86box/sound.h>
/* ISA */
uint8_t
machine_compaq_p1_handler(void)
{
return machine_generic_p1_handler() | (hasfpu ? 0x00 : 0x04);
}
static void
machine_at_deskpro386_common_init(const machine_t *model)
{
@@ -62,7 +68,8 @@ machine_at_deskpro386_common_init(const machine_t *model)
device_add(&compaq_386_device);
machine_at_common_init(model);
device_add(&kbc_at_compaq_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
}
int
@@ -122,7 +129,8 @@ machine_at_portableiii386_init(const machine_t *model)
device_add(&compaq_386_device);
machine_at_common_init(model);
device_add(&kbc_at_compaq_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -140,6 +148,7 @@ machine_at_micronics386_init(const machine_t *model)
return ret;
machine_at_init(model);
device_add(&port_92_device);
if (fdc_current[0] == FDC_INTERNAL)
@@ -161,6 +170,7 @@ machine_at_micronics386px_init(const machine_t *model)
return ret;
machine_at_init(model);
device_add(&port_92_device);
if (fdc_current[0] == FDC_INTERNAL)
@@ -182,8 +192,10 @@ machine_at_acc386_init(const machine_t *model)
return ret;
machine_at_common_init(model);
device_add(&acc2168_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -205,12 +217,13 @@ machine_at_ecs386_init(const machine_t *model)
return ret;
machine_at_common_init(model);
device_add(&cs8230_device);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -228,12 +241,13 @@ machine_at_spc6000a_init(const machine_t *model)
return ret;
machine_at_common_init_ex(model, 1);
device_add(&cs8230_device);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -250,8 +264,10 @@ machine_at_tandy4000_init(const machine_t *model)
return ret;
machine_at_common_init(model);
device_add(&cs8230_device);
device_add(&kbc_at_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -272,8 +288,10 @@ machine_at_ecs386v_init(const machine_t *model)
return ret;
machine_at_common_init(model);
device_add(&ali1429_device);
device_add(&kbc_ps2_intel_ami_pci_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -296,7 +314,8 @@ machine_at_dataexpert386wb_init(const machine_t *model)
machine_at_common_init(model);
device_add(&opti391_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -320,7 +339,7 @@ machine_at_opti495_init(const machine_t *model)
device_add(&opti495slc_device);
device_add(&kbc_at_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -341,7 +360,9 @@ machine_at_asus3863364k_init(const machine_t *model)
return ret;
machine_at_common_init(model);
device_add(&rabbit_device);
device_add(&kbc_at_ami_device);
if (fdc_current[0] == FDC_INTERNAL)
@@ -362,8 +383,10 @@ machine_at_asus386_init(const machine_t *model)
return ret;
machine_at_common_init(model);
device_add(&rabbit_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);

View File

@@ -63,10 +63,12 @@ machine_at_exp4349_init(const machine_t *model)
machine_at_common_init(model);
device_add(&ali1429g_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
return ret;
}
@@ -92,6 +94,7 @@ machine_at_c747_init(const machine_t *model)
desired behavior: command A9 does absolutely nothing.
*/
device_add(&kbc_at_siemens_device);
device_add_params(&um866x_device, (void *) (UM82C862F | UM866X_IDE_PRI));
return ret;
@@ -104,7 +107,7 @@ machine_at_opti495_ami_common_init(const machine_t *model)
device_add(&opti495sx_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);

View File

@@ -62,7 +62,7 @@ machine_at_pc916sx_init(const machine_t *model)
machine_at_common_init(model);
device_add(&kbc_at_ncr_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
mem_remap_top(384);
if (fdc_current[0] == FDC_INTERNAL)
@@ -84,7 +84,7 @@ machine_at_quadt386sx_init(const machine_t *model)
return ret;
machine_at_common_init(model);
device_add(&kbc_at_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -178,7 +178,8 @@ machine_at_arb1374_init(const machine_t *model)
device_add(&ali1217_device);
device_add(&ide_isa_device);
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0 | W83XX7_IDE_PRI));
device_add(&kbc_ps2_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -199,7 +200,8 @@ machine_at_sbc350a_init(const machine_t *model)
device_add(&ali1217_device);
device_add(&ide_isa_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
device_add(&kbc_ps2_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -224,7 +226,7 @@ machine_at_flytech386_init(const machine_t *model)
if (gfxcard[0] == VID_INTERNAL)
device_add(&tvga8900d_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -244,7 +246,8 @@ machine_at_325ax_init(const machine_t *model)
device_add(&ali1217_device);
device_add(&fdc_at_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -264,7 +267,8 @@ machine_at_mr1217_init(const machine_t *model)
device_add(&ali1217_device);
device_add(&fdc_at_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -284,6 +288,8 @@ machine_at_acer100t_init(const machine_t *model)
machine_at_ps2_ide_init(model);
device_add(&ali1409_device);
device_add(&ali5105_device);
if (gfxcard[0] == VID_INTERNAL)
device_add(&oti077_acer100t_device);
@@ -333,7 +339,7 @@ machine_at_adi386sx_init(const machine_t *model)
device_add(&amstrad_megapc_nvr_device); /* NVR that is initialized to all 0x00's. */
device_add(&intel_82335_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -356,7 +362,7 @@ machine_at_shuttle386sx_init(const machine_t *model)
machine_at_common_init(model);
device_add(&intel_82335_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -379,7 +385,7 @@ machine_at_cmdsl386sx16_init(const machine_t *model)
machine_at_common_init(model);
device_add(&kbc_ps2_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -524,10 +530,7 @@ machine_at_scamp_common_init(const machine_t *model, int is_ps2)
{
machine_at_common_ide_init(model);
if (is_ps2)
device_add(&kbc_ps2_ami_device);
else
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -645,7 +648,7 @@ machine_at_scatsx_init(const machine_t *model)
{
machine_at_common_init(model);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -687,7 +690,7 @@ machine_at_wd76c10_init(const machine_t *model)
if (gfxcard[0] == VID_INTERNAL)
device_add(&paradise_wd90c11_megapc_device);
device_add(&kbc_ps2_quadtel_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&wd76c10_device);

View File

@@ -93,7 +93,7 @@ machine_at_init(const machine_t *model)
{
machine_at_common_init(model);
device_add(&kbc_at_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
}
void
@@ -101,7 +101,7 @@ machine_at_ps2_init(const machine_t *model)
{
machine_at_common_init(model);
device_add(&kbc_ps2_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
}
void

View File

@@ -59,7 +59,7 @@ machine_at_pja511m_init(const machine_t *model)
device_add_inst_params(&fdc37c669_device, 1, (void *) FDC37C6XX_IDE_PRI);
device_add_inst_params(&fdc37c669_device, 2, (void *) 0);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&ali6117d_device);
device_add(&sst_flash_29ee010_device);
@@ -80,7 +80,7 @@ machine_at_prox1332_init(const machine_t *model)
machine_at_common_init(model);
device_add_params(&fdc37c669_device, (void *) FDC37C6XX_370);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&ali6117d_device);
device_add(&sst_flash_29ee010_device);

View File

@@ -61,8 +61,10 @@ machine_at_cs4031_init(const machine_t *model)
return ret;
machine_at_common_init(model);
device_add(&cs4031_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -83,8 +85,10 @@ machine_at_ga486l_init(const machine_t *model)
return ret;
machine_at_common_init(model);
device_add(&opti381_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -130,7 +134,7 @@ machine_at_mvi486_init(const machine_t *model)
device_add(&opti498_device);
device_add(&kbc_at_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&ide_isa_device);
device_add_params(&pc873xx_device, (void *) (PCX73XX_IDE_PRI | PCX730X_398));
@@ -143,8 +147,10 @@ static void
machine_at_sis401_common_init(const machine_t *model)
{
machine_at_common_init(model);
device_add(&sis_85c401_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -195,8 +201,10 @@ machine_at_av4_init(const machine_t *model)
return ret;
machine_at_common_init(model);
device_add(&sis_85c460_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -267,7 +275,8 @@ machine_at_486vchd_init(const machine_t *model)
machine_at_common_init(model);
device_add(&via_vt82c49x_device);
device_add(&kbc_at_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -410,7 +419,7 @@ machine_at_genoa486_init(const machine_t *model)
device_add(&compaq_genoa_device);
device_add(&port_92_key_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);

View File

@@ -62,7 +62,7 @@ machine_at_pb410a_init(const machine_t *model)
machine_at_ibm_common_ide_init(model);
device_add(&kbc_ps2_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&acc3221_device);
device_add(&acc2168_device);
@@ -93,7 +93,7 @@ machine_at_acera1g_init(const machine_t *model)
if (gfxcard[0] == VID_INTERNAL)
device_add(&gd5428_onboard_device);
device_add(&kbc_ps2_acer_pci_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add_params(&pc87310_device, (void *) (PC87310_ALI));
device_add(&ide_ali5213_device);
@@ -111,7 +111,7 @@ machine_at_ali1429_common_init(const machine_t *model, int is_green)
else
device_add(&ali1429_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -170,8 +170,11 @@ machine_at_pci400ca_init(const machine_t *model)
pci_register_slot(0x04, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x05, PCI_CARD_NORMAL, 3, 4, 1, 2);
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&sio_device);
device_add(&intel_flash_bxt_ami_device);
device_add(&i420tx_device);
@@ -203,7 +206,8 @@ machine_at_g486ip_init(const machine_t *model)
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2); /* 03 = Slot 1 */
pci_register_slot(0x0E, PCI_CARD_NORMAL, 2, 3, 4, 1); /* 04 = Slot 2 */
pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 2, 3, 4); /* 05 = Slot 3 */
device_add(&kbc_ps2_ami_pci_device); /* AMI Megakey 1993 stanalone ('P') */
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&ims8848_device);
@@ -257,7 +261,7 @@ machine_at_cougar_init(const machine_t *model)
device_add(&opti499_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -284,7 +288,7 @@ machine_at_decpclpv_init(const machine_t *model)
if (gfxcard[0] == VID_INTERNAL)
device_add(machine_get_vid_device(machine));
device_add(&kbc_ps2_phoenix_pci_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&ide_isa_2ch_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C663 | FDC37C6XX_IDE_PRI));
@@ -340,7 +344,8 @@ machine_at_valuepoint433_init(const machine_t *model) // hangs without the PS/2
device_add(&et4000w32_onboard_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C661 | FDC37C6XX_IDE_PRI));
device_add(&kbc_ps2_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);

View File

@@ -62,7 +62,8 @@ machine_at_atc1762_init(const machine_t *model)
machine_at_common_init(model);
device_add(&ali1429g_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -84,7 +85,8 @@ machine_at_ecsal486_init(const machine_t *model)
machine_at_common_init(model);
device_add(&ali1429g_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -107,7 +109,9 @@ machine_at_ap4100aa_init(const machine_t *model)
device_add(&ami_1994_nvr_device);
device_add(&ali1429g_device);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&ide_vlb_device);
device_add_params(&um866x_device, (void *) UM8663BF);
@@ -133,7 +137,7 @@ machine_at_4gpv5_init(const machine_t *model)
device_add(&contaq_82c596a_device);
device_add(&kbc_at_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -157,7 +161,7 @@ machine_at_greenb_init(const machine_t *model)
device_add(&contaq_82c597_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -174,7 +178,7 @@ machine_at_403tg_common_init(const machine_t *model, int nvr_hack)
device_add(&opti895_device);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -243,7 +247,9 @@ machine_at_acerv10_init(const machine_t *model)
machine_at_common_init(model);
device_add(&sis_85c461_device);
device_add(&kbc_ps2_acer_pci_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&ide_isa_device);
if (fdc_current[0] == FDC_INTERNAL)
@@ -276,7 +282,8 @@ machine_at_win471_init(const machine_t *model)
return ret;
machine_at_sis_85c471_common_init(model);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -293,7 +300,8 @@ machine_at_vi15g_init(const machine_t *model)
return ret;
machine_at_sis_85c471_common_init(model);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -310,7 +318,8 @@ machine_at_vli486sv2g_init(const machine_t *model)
return ret;
machine_at_sis_85c471_common_init(model);
device_add(&kbc_ps2_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -330,7 +339,8 @@ machine_at_dvent4xx_init(const machine_t *model)
device_add(&sis_85c471_device);
device_add(&ide_cmd640_vlb_pri_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_SEC));
device_add(&kbc_ps2_phoenix_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (gfxcard[0] == VID_INTERNAL)
device_add(machine_get_vid_device(machine));
@@ -350,7 +360,8 @@ machine_at_dtk486_init(const machine_t *model)
return ret;
machine_at_sis_85c471_common_init(model);
device_add(&kbc_at_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -367,7 +378,8 @@ machine_at_ami471_init(const machine_t *model)
return ret;
machine_at_sis_85c471_common_init(model);
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -384,8 +396,10 @@ machine_at_px471_init(const machine_t *model)
return ret;
machine_at_sis_85c471_common_init(model);
device_add(&ide_vlb_device);
device_add(&kbc_at_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -406,7 +420,8 @@ machine_at_tg486g_init(const machine_t *model)
device_add(&sis_85c471_device);
device_add(&ide_isa_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C651 | FDC37C6XX_IDE_PRI));
device_add(&kbc_ps2_tg_ami_pci_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (gfxcard[0] != VID_INTERNAL) {
for (uint16_t i = 0; i < 32768; i++)

View File

@@ -78,7 +78,7 @@ machine_at_ms4134_init(const machine_t *model)
device_add(&ali1435_device);
device_add(&sst_flash_29ee010_device);
device_add(&kbc_ps2_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -111,7 +111,7 @@ machine_at_tg486gp_init(const machine_t *model)
device_add(&ali1435_device);
device_add(&sst_flash_29ee010_device);
device_add(&kbc_ps2_tg_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -143,7 +143,9 @@ machine_at_sbc490_init(const machine_t *model)
device_add(&ali1489_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&kbc_ps2_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&sst_flash_29ee010_device);
return ret;
@@ -170,7 +172,7 @@ machine_at_abpb4_init(const machine_t *model)
device_add(&ali1489_device);
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
device_add(&kbc_at_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&sst_flash_29ee010_device);
return ret;
@@ -193,7 +195,9 @@ machine_at_arb1476_init(const machine_t *model)
device_add(&ali1489_device);
device_add_params(&fdc37c669_device, (void *) 0);
device_add(&kbc_ps2_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&sst_flash_29ee010_device);
return ret;
@@ -243,7 +247,9 @@ machine_at_tf486_init(const machine_t *model)
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
device_add(&ali1489_device);
device_add(&kbc_at_phoenix_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add_params(&w83977_device, (void *) (W83977EF | W83977_NO_NVR));
device_add(&sst_flash_29ee010_device);
@@ -272,7 +278,9 @@ machine_at_ms4145_init(const machine_t *model)
device_add(&ali1489_device);
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
device_add(&kbc_at_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&sst_flash_29ee010_device);
return ret;
@@ -301,7 +309,9 @@ machine_at_pc330_6573_common_init(const machine_t *model)
device_add(&opti602_device);
device_add(&opti802g_device);
device_add(&opti822_device);
device_add(&kbc_ps2_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_SEC));
device_add(&ide_opti611_vlb_device);
device_add(&intel_flash_bxt_device);
@@ -410,7 +420,7 @@ machine_at_pb450_init(const machine_t *model)
device_add(&opti895_device);
device_add(&opti602_device);
device_add(&opti822_device);
device_add(&kbc_ps2_phoenix_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_SEC));
device_add(&ide_opti611_vlb_device);
device_add(&intel_flash_bxt_device);
@@ -439,7 +449,8 @@ machine_at_486pi_init(const machine_t *model)
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 1, 2, 1);
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 1, 2);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&i420ex_device);
@@ -467,7 +478,9 @@ machine_at_bat4ip3e_init(const machine_t *model)
pci_register_slot(0x0a, PCI_CARD_NORMAL, 1, 2, 1, 2);
device_add(&phoenix_486_jumper_pci_device);
device_add(&kbc_ps2_pci_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&i420ex_device);
device_add(&ide_cmd640_pci_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
@@ -495,7 +508,8 @@ machine_at_486ap4_init(const machine_t *model)
pci_register_slot(0x0a, PCI_CARD_NORMAL, 2, 3, 4, 1); /* 0a = Slot 2 */
pci_register_slot(0x0b, PCI_CARD_NORMAL, 3, 4, 1, 2); /* 0b = Slot 3 */
pci_register_slot(0x0c, PCI_CARD_NORMAL, 4, 1, 2, 3); /* 0c = Slot 4 */
device_add(&kbc_ps2_ami_pci_device); /* Uses the AMIKEY KBC */
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
@@ -524,7 +538,9 @@ machine_at_ninja_init(const machine_t *model)
pci_register_slot(0x11, PCI_CARD_NORMAL, 1, 2, 1, 2);
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 1, 2, 1);
pci_register_slot(0x0B, PCI_CARD_NORMAL, 2, 1, 2, 1);
device_add(&kbc_ps2_phoenix_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&intel_flash_bxt_ami_device);
device_add(&i420ex_device);
@@ -551,7 +567,8 @@ machine_at_sb486p_init(const machine_t *model)
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 1, 2);
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 1, 2, 1);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add_params(&i82091aa_device, (void *) I82091AA_022);
device_add(&i420ex_device);
@@ -577,7 +594,9 @@ machine_at_amis76_init(const machine_t *model)
pci_register_slot(0x0E, PCI_CARD_NORMAL, 1, 2, 3, 4);
pci_register_slot(0x0F, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&kbc_ps2_ami_pci_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&sio_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&intel_flash_bxt_ami_device);
@@ -611,7 +630,9 @@ machine_at_486sp3_init(const machine_t *model)
pci_register_slot(0x05, PCI_CARD_NORMAL, 3, 4, 1, 2); /* 05 = Slot 3 */
pci_register_slot(0x06, PCI_CARD_NORMAL, 4, 1, 2, 3); /* 06 = Slot 4 */
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&kbc_at_ami_device); /* Uses the AMIKEY KBC */
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&sio_device);
device_add_params(&fdc37c6xx_device, (void *) (FDC37C663 | FDC37C6XX_IDE_PRI));
device_add(&sst_flash_29ee010_device);
@@ -645,7 +666,9 @@ machine_at_alfredo_init(const machine_t *model)
pci_register_slot(0x0E, PCI_CARD_NORMAL, 2, 1, 3, 4);
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 3, 2, 4);
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&kbc_ps2_phoenix_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&sio_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C663);
device_add(&intel_flash_bxt_ami_device);
@@ -677,7 +700,9 @@ machine_at_486sp3g_init(const machine_t *model)
pci_register_slot(0x05, PCI_CARD_NORMAL, 2, 3, 4, 1); /* 05 = Slot 2 */
pci_register_slot(0x04, PCI_CARD_NORMAL, 3, 4, 1, 2); /* 04 = Slot 3 */
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&kbc_ps2_ami_pci_device); /* Uses the AMIKEY KBC */
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&sio_zb_device);
device_add_params(&pc873xx_device, (void *) (PC87332 | PCX73XX_IDE_PRI | PCX730X_398));
device_add(&sst_flash_29ee010_device);
@@ -790,8 +815,8 @@ machine_at_pci400cb_init(const machine_t *model)
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2); /* 0E = Slot 2 */
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1); /* 0D = Slot 3 */
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4); /* 0C = Slot 4 */
device_add(&kbc_ps2_ami_pci_device); /* Assume AMI Megakey 1993 standalone ('P')
because of the Tekram machine below. */
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&ims8848_device);
@@ -814,6 +839,8 @@ machine_at_sis_85c496_common_init(UNUSED(const machine_t *model))
pci_set_irq_routing(PCI_INTB, PCI_IRQ_DISABLED);
pci_set_irq_routing(PCI_INTC, PCI_IRQ_DISABLED);
pci_set_irq_routing(PCI_INTD, PCI_IRQ_DISABLED);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
}
int
@@ -1166,7 +1193,8 @@ machine_at_ecs486_init(const machine_t *model)
device_add(&ide_cmd640_pci_legacy_only_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&intel_flash_bxt_device);
device_add(&kbc_ps2_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -1195,7 +1223,8 @@ machine_at_actionpc2600_init(const machine_t *model)
device_add(&umc_8886bf_device);
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&intel_flash_bxt_device);
device_add(&kbc_ps2_tg_ami_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (gfxcard[0] == VID_INTERNAL)
device_add(machine_get_vid_device(machine));
@@ -1228,7 +1257,9 @@ machine_at_actiontower8400_init(const machine_t *model)
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
device_add(&ide_cmd640_pci_device);
device_add(&intel_flash_bxt_device); // The ActionPC 2600 has this so I'm gonna assume this does too.
device_add(&kbc_ps2_ami_pci_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
if (gfxcard[0] == VID_INTERNAL)
device_add(machine_get_vid_device(machine));
@@ -1403,7 +1434,7 @@ machine_at_g486vpa_init(const machine_t *model)
device_add(&via_vt82c49x_pci_ide_device);
device_add(&via_vt82c505_device);
device_add_params(&pc873xx_device, (void *) (PC87332 | PCX73XX_IDE_SEC | PCX730X_398));
device_add(&kbc_ps2_ami_pci_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&sst_flash_29ee010_device);
return ret;
@@ -1432,7 +1463,9 @@ machine_at_486vipio2_init(const machine_t *model)
device_add(&via_vt82c49x_pci_ide_device);
device_add(&via_vt82c505_device);
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
device_add(&kbc_ps2_ami_pci_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&winbond_flash_w29c010_device);
return ret;

View File

@@ -794,6 +794,12 @@ upper_write_raml(uint32_t addr, uint32_t val, void *priv)
*(uint32_t *) &ram[addr] = val;
}
uint8_t
machine_t3100e_p1_handler(void)
{
return (t3100e_mono_get() & 1) ? 0xff : 0xbf;
}
int
machine_at_t3100e_init(const machine_t *model)
{

View File

@@ -395,13 +395,22 @@ ps1_common_init(const machine_t *model)
dma16_init();
pic2_init();
device_add(&kbc_ps2_ps1_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&port_6x_device);
/* Audio uses ports 200h and 202-207h, so only initialize gameport on 201h. */
standalone_gameport_type = &gameport_201_device;
}
uint8_t
machine_ps1_p1_handler(void)
{
const uint8_t current_drive = fdc_get_current_drive();
/* (B0 or F0) | (fdd_is_525(current_drive) on bit 6) */
return 0xb0 | (fdd_is_525(current_drive) ? 0x40 : 0x00);
}
int
machine_ps1_m2011_init(const machine_t *model)
{

View File

@@ -201,7 +201,7 @@ ps2_isa_common_init(const machine_t *model)
dma16_init();
pic2_init();
device_add(&kbc_ps2_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&port_6x_ps2_device);
}

View File

@@ -1160,7 +1160,6 @@ ps2_mca_board_model_50_init(void)
mem_remap_top(384);
mca_init(4);
device_add(&kbc_ps2_mca_2_device);
ps2.planar_read = model_50_read;
ps2.planar_write = model_50_write;
@@ -1181,7 +1180,6 @@ ps2_mca_board_model_60_init(void)
mem_remap_top(384);
mca_init(8);
device_add(&kbc_ps2_mca_2_device);
ps2.planar_read = model_50_read;
ps2.planar_write = model_50_write;
@@ -1241,7 +1239,6 @@ ps2_mca_board_model_55sx_init(int has_sec_nvram, int slots)
}
mca_init(slots);
device_add(&kbc_ps2_mca_1_device);
if (has_sec_nvram)
device_add(&ps2_nvr_55ls_device);
@@ -1420,7 +1417,6 @@ ps2_mca_board_model_70_type34_init(int is_type4, int slots)
ps2.split_addr = mem_size * 1024;
mca_init(slots);
device_add(&kbc_ps2_mca_1_device);
ps2.planar_read = model_70_type3_read;
ps2.planar_write = model_70_type3_write;
@@ -1513,7 +1509,6 @@ ps2_mca_board_model_80_type2_init(void)
ps2.split_addr = mem_size * 1024;
mca_init(8);
device_add(&kbc_ps2_mca_1_device);
ps2.planar_read = model_80_read;
ps2.planar_write = model_80_write;
@@ -1628,6 +1623,8 @@ machine_ps2_model_50_init(const machine_t *model)
ps2.planar_id = 0xfbff;
ps2_mca_board_model_50_init();
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -1651,6 +1648,8 @@ machine_ps2_model_60_init(const machine_t *model)
ps2.planar_id = 0xf7ff;
ps2_mca_board_model_60_init();
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -1671,6 +1670,8 @@ machine_ps2_model_55sx_init(const machine_t *model)
ps2.planar_id = 0xfbff;
ps2_mca_board_model_55sx_init(0, 4);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -1691,6 +1692,8 @@ machine_ps2_model_65sx_init(const machine_t *model)
ps2.planar_id = 0xe3ff;
ps2_mca_board_model_55sx_init(1, 8);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -1711,6 +1714,8 @@ machine_ps2_model_70_type3_init(const machine_t *model)
ps2.planar_id = 0xf9ff;
ps2_mca_board_model_70_type34_init(0, 4);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -1731,6 +1736,8 @@ machine_ps2_model_80_init(const machine_t *model)
ps2.planar_id = 0xfdff;
ps2_mca_board_model_80_type2_init();
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -1751,6 +1758,8 @@ machine_ps2_model_80_axx_init(const machine_t *model)
ps2.planar_id = 0xfff9;
ps2_mca_board_model_70_type34_init(0, 8);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}
@@ -1771,6 +1780,8 @@ machine_ps2_model_70_type4_init(const machine_t *model)
ps2.planar_id = 0xf9ff;
ps2_mca_board_model_70_type34_init(1, 4);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
return ret;
}

View File

@@ -204,7 +204,7 @@ machine_xt_xi8088_init(const machine_t *model)
if (fdc_current[0] == FDC_INTERNAL)
device_add(&fdc_at_device);
device_add(&kbc_ps2_xi8088_device);
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
device_add(&port_6x_xi8088_device);
nmi_init();
device_add(&ibmat_nvr_device);

File diff suppressed because it is too large Load Diff